Как решить проблему с задержкой отображения размера панели инструментов Toolbar2000 в DelphiDelphi , Программа и Интерфейс , Диалоги и ФреймыПользователи, работающие с компонентами Toolbar2000 от Jordan Russel в среде разработки Delphi, могут столкнуться с проблемой, когда размер панели инструментов отображается некорректно при первом показе. Вопрос заключается в том, что размеры подпанели и вложенных панелей устанавливаются явно, но Toolbar2000 не обновляет свои размеры должным образом, пока основная форма не перерисуется. Описание проблемыПользователь создает панель инструментов Toolbar2000 в runtime с использованием вложенного TFrame, который затем причаливают к основной форме приложения. В структуре панели инструментов присутствуют несколько панелей с различными элементами управления. При первом отображении панели инструментов размеры не соответствуют ожидаемым, и только после принудительного изменения размеров панелей (например, после клика мышью) размеры Toolbar2000 корректно обновляются. Анализ проблемыПроблема связана с тем, что после установки размеров панелей и пересчета размеров TFrame, размеры самого Toolbar2000 не обновляются немедленно. Это может быть связано с задержкой в процессе обработки сообщений или с тем, что размер шрифта не учитывается сразу после его изменения. Подтвержденное решениеВ качестве быстрого решения предлагается временно перевести панель в плавающее состояние, что заставит ее пересчитать все выравнивания и причалование. Пример кода:
Альтернативное решениеПосле дополнительного исследования выяснилось, что проблема заключалась в несоответствии между свойствами шрифта элемента управления и канваса элемента управления. После изменения свойства
ЗаключениеПроблема с задержкой отображения размера панели инструментов Toolbar2000 в Delphi может быть решена путем временного перевода панели в плавающее состояние или путем явного обновления шрифта канваса после изменения свойства Пользователи столкнулись с проблемой, когда панель инструментов Toolbar2000 в Delphi некорректно отображает свой размер при первом показе, и это не обновляется до тех пор, пока не произойдет какое-либо внешнее действие, например, клик мышью. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Диалоги и Фреймы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |