Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Размеры окон в PB 10.5 / 14 сообщений из 14, страница 1 из 1
16.04.2007, 12:31
    #34463136
Trubitsin Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Есть работающая программа. В ней я открываю response-окно и хочу чтобы оно расположилсь в правом нижнем углу main-окна. В скрипте открытия беру Y-координату main-окна, прибавляю к нему высоту main-окна и отнимаю высоту response-окна. Тоже проделываю и для определения х-координаты: беру X-координату main-окна, прибавляю к нему ширину main-окна и отнимаю ширину response-окна. Окно село куда надо, но РВ 10.5 кикие-то непонятки. Response-окно село ниже и правее. Запустил отладчик и увидел что размеры этих окон не такие как указаны в свойстваx. Отладчик дает высоту окна на 100 единиц, а ширину на 28-29 единиц больше. Это как надо понимать? Проблему решил путем переделки скрипта.
...
Рейтинг: 0 / 0
16.04.2007, 12:44
    #34463187
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Такие проблемы были с Windows ХР. Размеры заголовков не совпадают с Windows 2000. Попробуй сделать такое: рабочий стол -> правая кнопка мышки -> Proporties -> на первой вкладке в Theme: выбрать "Windows Classic" вместо "Windows XP". Должно помочь.
...
Рейтинг: 0 / 0
16.04.2007, 13:19
    #34463314
Trubitsin Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
RiskaТакие проблемы были с Windows ХР. Размеры заголовков не совпадают с Windows 2000. Попробуй сделать такое: рабочий стол -> правая кнопка мышки -> Proporties -> на первой вкладке в Theme: выбрать "Windows Classic" вместо "Windows XP". Должно помочь.
У меня и стоит "Windows Classic". Я так думаю, но ещё не проверял, что в скрипте открытия окна там стоит то что и задано, но после выполнения скрипта PB изменяет высоту окна с учётом заголовка а ширину и с учетом бордюра. Другого объяснения нет. Но от этого не легче.
...
Рейтинг: 0 / 0
16.04.2007, 13:22
    #34463323
PavelBuilder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Еси совсем точно, то нужно вызывать виндовые внешние функции для определения различных метрик окна ( заговок окна, бордюр и пр.) и с учетом полученных чисел и строить фомулу. Но на практике с этим возится лень, потому в твою формулу уже написаную добавляют параметр "gap" котрый формально равен примерно тому что можно получить из метрик и все работает. Учитывая что подобные вещи обычно не пишут без продуманной иерархии классов, если сменится операционка или еще что, просто придется в предках поменять этот самый gap и все. Ну или честно через виндовые вызовы, н ос другой стороны это завязка на операционку и кто знает будт ли работать эти функции когда реально что то сменится а мы на этот код закладывались.
...
Рейтинг: 0 / 0
16.04.2007, 14:03
    #34463488
Trubitsin Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
PavelBuilderЕси совсем точно, то нужно вызывать виндовые внешние функции для определения различных метрик окна ( заговок окна, бордюр и пр.) и с учетом полученных чисел и строить фомулу. Но на практике с этим возится лень, потому в твою формулу уже написаную добавляют параметр "gap" котрый формально равен примерно тому что можно получить из метрик и все работает. Учитывая что подобные вещи обычно не пишут без продуманной иерархии классов, если сменится операционка или еще что, просто придется в предках поменять этот самый gap и все. Ну или честно через виндовые вызовы, н ос другой стороны это завязка на операционку и кто знает будт ли работать эти функции когда реально что то сменится а мы на этот код закладывались.
Да... Не знаю считать это ошибкой или нет, но раньше было понятнее. Создавалось окно с конкрентой высотой и шириной и всё. Если в виндовозе я менял высоту заголовка или ширину бордюра, то окно оставалось неизменным, но при этом все изменения происходили за счет полезной плошади окна, а сейчас одна головная боль.
...
Рейтинг: 0 / 0
17.04.2007, 10:37
    #34465507
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
раньше событие первое resize происходило до open
и в событии open вы уже имели корректный размер окна

теперь первое событие resize происходит после open!!!

чтобы триггернуть ресайз просто в open сделайте что-то вроде
Код: plaintext
this.width+= 6 
...
Рейтинг: 0 / 0
17.04.2007, 11:04
    #34465608
PBGuest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Dmitry.раньше событие первое resize происходило до open
Когда это так было?????
...
Рейтинг: 0 / 0
17.04.2007, 11:15
    #34465670
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
PBGuest Dmitry.раньше событие первое resize происходило до open
Когда это так было?????
В 7.0 и 8.0 точно было ДО. В других версиях не проверял.
...
Рейтинг: 0 / 0
17.04.2007, 11:25
    #34465725
PBGuest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
В PB9.0.3 и 10.5.1 поведение одинаковое - вначале Open потом Resize. В хелпе говориться что до Open никакие события окна не обрабатываются.

Код: plaintext
When a window is opened, other events occur, such as Constructor for each control in the window, Activate and Show for the window
...
Рейтинг: 0 / 0
17.04.2007, 13:27
    #34466403
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Я тоже сталкивался с ситуацией, когда Resize отрабатывался дважды - до и после Open. К сожалению, версии и билды указать не могу(просто не помню), но за слова отвечаю.
...
Рейтинг: 0 / 0
17.04.2007, 19:59
    #34467718
Trubitsin Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Даю дополнительную информацию.
Response-окно имеет ширину 1097 и высоту 1136 при создании. Имеет заголовок.
Запускаю отладчик ставлю два breakpoint-а. Один во время отрытия окна, второй уже после отрытия когда оно уже реально появилось. Во время открытия (внури скрипта open) оно имело ширину 1106 и высоту 1216, а уже после открытия ширину 1125 а высоту 1236. Т.е имеем три набора разных цифр.
...
Рейтинг: 0 / 0
18.04.2007, 11:09
    #34468811
ИвановНН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Напишите в самом начале Open окна (до перемещения в нужное место)
Код: plaintext
Resize( Width, Height )
Все будет нормально.
...
Рейтинг: 0 / 0
18.04.2007, 14:34
    #34469829
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
urvasЯ тоже сталкивался с ситуацией, когда Resize отрабатывался дважды - до и после Open. К сожалению, версии и билды указать не могу(просто не помню), но за слова отвечаю.
6.хх версии этим грешили. Очень в свое время удивило.
...
Рейтинг: 0 / 0
18.04.2007, 17:24
    #34470601
Oleg1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размеры окон в PB 10.5
Я уже спрашивал про это. Для определения размеров в Open пользуемся WinAPI.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Размеры окон в PB 10.5 / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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