Разница в размерах TPageControl designtime vs runtime

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Разница в размерах TPageControl designtime vs runtime

Сообщение Troublemaker » 20.05.2008 10:34:40

Чем может быть вызвана такая разница в размерах:
lazarus-pagecont-missize.jpg


Почему при работе TPageControl может быть короче того, что задано во время разработки, хотя размеры форм и верхняя граница совпадают? Не то, чтобы это сильно мешало, но всё-таки?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение VirtUX » 20.05.2008 11:09:57

Заголовочная часть во время разработки и после компиляции меняется (в частности Height)?
Я не уверен, но похоже, что ClientHeight формы (содержащей контрлы) после компиля изменяется.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение Troublemaker » 20.05.2008 11:12:33

VirtUX писал(а):Заголовочная часть во время разработки и после компиляции меняется?
Если и меняется, то не мной, потому и удивляюсь. Сейчас попробую выдать размеры в рантайме и посмотрю...

Добавлено спустя 25 минут 4 секунды:
Попробовал... В дизайнтайме и до вывода формы на экран высота 508, после прорисовки формы высота становится 489, все остальные параметры (top, left, width) остаются без изменений. С чего бы?
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение Attid » 20.05.2008 11:40:22

оно как-то от темы окошек плавать может, хотя конечно баг.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение Troublemaker » 20.05.2008 11:49:53

Attid писал(а):от темы окошек плавать может
Дык, я не сторонник пластмассовых кнопочек, поэтому тема в вин-ХР у меня классическая, безо всяких наворотов. Только меню "пуск" включил нового образца, где есть список последних запущенных программ и шорткаты на браузер и почту.
Сейчас попробую принудительно выставить после прорисовки высоту 508...

Добавлено спустя 8 минут 8 секунд:
Запихал в form.onshow принудительное выставление высоты - выставилась, как я и хотел, но это же не дело...
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение Attid » 20.05.2008 12:05:54

Troublemaker писал(а):, но это же не дело...

делай воспроизводимый пример и в трекер.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение VirtUX » 20.05.2008 12:11:57

Не знаю как в Windows, но под Linux (у меня включены почти все эфекты компиза, оформление окна - эмеральдовское) таких проблем не видел :?
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение Troublemaker » 20.05.2008 12:27:39

VirtUX писал(а):под Linux ... таких проблем не видел
А какая среда - gnome/kde? Под какой интерфейс сборка? Там тоже есть (у меня, во всяком случае) проблемы. Ходи сюда.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение VirtUX » 20.05.2008 12:54:04

Почитал. Считаю, что все же с Parent были проблемы.
Код: Выделить всё
Error: Incompatible type for arg no. 1: Got "TStatusPanel", expected "TWinControl"
Нужно делать так: TProgressBar.Parent:=SB1.Panels[SB1.Panels.Count-1] as TWinControl; - должно работать.
У меня в любом Х-окружении нет проблем. Я обязательно везде (по возможности) использую свойство контролов - Align и BorderSpacing.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение Troublemaker » 20.05.2008 13:46:51

VirtUX писал(а):Нужно делать так
Но почему под виндой этого не надо?
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Разница в размерах TPageControl designtime vs runtime

Сообщение VirtUX » 20.05.2008 14:03:25

Troublemaker писал(а):Но почему под виндой этого не надо?
Так нужно делать не из-за того, что это та или иная ОС, а просто так правильней (логичней). К стати, если требуется вновь созданным компонентам изменять обработчики их событий во время исполнения (типа: SB1.Panels[SB1.Panels.Count-1].OnClick := MyClicks;), то нужно использовать вместо {mode objfpc} {mode delphi}.
А по поводу почему в одной ОС так, а в друй ОС сяк - это вопрос к разработчикам среды Lazarus.
PS Разрабатывать защищенные от возможных боков и несовпадений приложения пока вреда никому не приносило.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

Рейтинг@Mail.ru