Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Размер и положение контролов / 20 сообщений из 20, страница 1 из 1
20.04.2008, 16:54
    #35267066
Eugene S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Возникла такая проблемка. Есть датавиндов для печати этикеток с текстовым полем (например, label_text). Этикетки печатаются в 3 столбца. У пользователя есть возможность менять размеры и положение текстового поля на этикетке (выставлены свойства resizable и moveable). Вообщем все работает замечательно, но возникла необходимость запоминать положение поля и размеры после изменения его пользователем. При обращение к свойствам label_text.x, label_text.y, label_text.height и label_text.width показываются старые размеры поля и движения мышки пользователя никак на это не влияют. Кто может подсказать в какую сторону копать? Возможно, проблема связана с тем, что меняются размеры для отдельной колонки, но не для всех полей сразу?
...
Рейтинг: 0 / 0
21.04.2008, 08:22
    #35267513
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Может быть поможет Describe("DataWindow.Syntax")?
...
Рейтинг: 0 / 0
21.04.2008, 10:58
    #35267793
Andrew Nagorny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Еще можно попробовать

dw_1.Describe("evaluate('label_text.x',1)") - для строки 1
dw_1.Describe("evaluate('label_text.x',2)") - для строки 2
...
Рейтинг: 0 / 0
29.04.2008, 14:15
    #35285891
Eugene S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Describe("DataWindow.Syntax") возвращает всегда то описание, которое было в design time и перемещение контролов мышкой никак на это описание не влияет. dw_1.Describe("evaluate('label_text.x',1)") не подошло, пишет "неверное выражение". Вообщем, такое ощущение, что в случае label стиля в памяти создается какая-то объектная модель, к которой и доступа особого нет. Придется видно делать перемещение контролов с помощью скрипта и событий :-(
...
Рейтинг: 0 / 0
29.04.2008, 14:39
    #35285988
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Eugene SDescribe("DataWindow.Syntax") возвращает всегда то описание, которое было в design time и перемещение контролов мышкой никак на это описание не влияет. dw_1.Describe("evaluate('label_text.x',1)") не подошло, пишет "неверное выражение". Вообщем, такое ощущение, что в случае label стиля в памяти создается какая-то объектная модель, к которой и доступа особого нет. Придется видно делать перемещение контролов с помощью скрипта и событий :-(
Если напильником подработать, то все выходит
Код: plaintext
MessageBox("",dw_1.Describe("evaluate('describe(~"'label_text.x~")', 1 )"))
...
Рейтинг: 0 / 0
29.04.2008, 14:52
    #35286027
craftyman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
кавычка только лишняя, а так - всё работает =)
Локшин МаркMessageBox("",dw_1.Describe("evaluate('describe(~" ' label_text.x~")',1)"))
...
Рейтинг: 0 / 0
29.04.2008, 14:58
    #35286050
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
craftymanкавычка только лишняя, а так - всё работает =)
Локшин МаркMessageBox("",dw_1.Describe("evaluate('describe(~" ' label_text.x~")',1)"))
Нда, это когда я копировал здешнее название наверное прихватилось...
...
Рейтинг: 0 / 0
29.04.2008, 15:38
    #35286233
Eugene S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
MessageBox("",dw_1.Describe("evaluate('describe(~"label_text.x~")',1)")) всегда показывает позицию, заданную в design-time.
...
Рейтинг: 0 / 0
29.04.2008, 16:03
    #35286353
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Eugene SMessageBox("",dw_1.Describe("evaluate('describe(~"label_text.x~")',1)")) всегда показывает позицию, заданную в design-time.
Чё-то на правду не похоже, у меня отображаются те координаты, которые были выставлены при перемещении.
...
Рейтинг: 0 / 0
29.04.2008, 16:18
    #35286417
+/-
+/-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
>> MessageBox("",dw_1.Describe("evaluate('describe(~"label_text.x~")',1)")) всегда показывает позицию, заданную в design-time.

Есть еще вариант что Вы изменяете ШИРИНУ, а меседже смотрите КООРДИНАТУ Х.
...
Рейтинг: 0 / 0
29.04.2008, 16:47
    #35286572
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Этот код:
Код: plaintext
dw_1.Describe("evaluate('describe(~"label_text.x~")',1)")
показывает не значение X после перемещения юзером (что требуется), а значение expression для X в заданной строке, что совсем не то же самое.
...
Рейтинг: 0 / 0
29.04.2008, 16:57
    #35286618
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Anatoly MoskovskyЭтот код:
Код: plaintext
dw_1.Describe("evaluate('describe(~"label_text.x~")',1)")
показывает не значение X после перемещения юзером (что требуется), а значение expression для X в заданной строке, что совсем не то же самое.
А, не, каюсь был не прав.
...
Рейтинг: 0 / 0
29.04.2008, 16:59
    #35286625
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Anatoly Moskovskyпоказывает не значение X после перемещения юзером (что требуется), а значение expression для X в заданной строке, что совсем не то же самое.
Когда я это проверял перед тем как написать в форум - у меня отображало именно значение координаты X после перемещения поля (когда не был задан expression), иначе отображался expression (а если expression задан, то IMHO поле будет отображаться там где определяет expression). Сейчас перепроверить не могу т.к. под рукой нет PB.
...
Рейтинг: 0 / 0
29.04.2008, 17:28
    #35286758
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Локшин Марка если expression задан
Не думаю что там еще и expression :)
...
Рейтинг: 0 / 0
29.04.2008, 17:39
    #35286792
craftyman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
пример DW в студию.
только что не поленился, проверил, всё работает как японские часы =)
...
Рейтинг: 0 / 0
29.04.2008, 20:35
    #35287096
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
craftymanпример DW в студию.
только что не поленился, проверил, всё работает как японские часы =)Если мне не изменяет мой склероз, у нас на этом построен редактор форм ;-)
...
Рейтинг: 0 / 0
29.04.2008, 20:43
    #35287103
craftyman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
PL99Если мне не изменяет мой склероз, у нас на этом построен редактор форм ;-)
и я даже знаю, кто его делал ;-)
...
Рейтинг: 0 / 0
29.04.2008, 20:44
    #35287105
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
PL99 craftymanпример DW в студию.
только что не поленился, проверил, всё работает как японские часы =)Если мне не изменяет мой склероз, у нас на этом построен редактор форм ;-)Кстати, вот он
...
Рейтинг: 0 / 0
30.04.2008, 11:26
    #35288023
Eugene S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
Небольшие исследования показали, что, видимо, проблема в типе дата виндова. Я создал Freeform и, действительно, dw_1.Describe("evaluate('describe(~"label_text.x~")',1)") отрабатывает отлично. А вот с типом Label - не работает :-(

PS: работаю с PB 9.0.2 Build 7509
...
Рейтинг: 0 / 0
30.04.2008, 16:43
    #35289268
craftyman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер и положение контролов
да, действительно, если тип DW - Label, то не хочет работать.
я бы предложил сделать что-то типа команды "редактировать", при выборе которой менять у DW свойство processing = 0 (т.е. сделать Freeform), в нем уже юзер таскает элементы, как ему надо, а дальше обратно processing = 2.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Размер и положение контролов / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]