![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Вася К. |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 9.2.2005 Репутация: нет Всего: нет |
Здравствуйте!
Как можно отловить изменение шрифта формы в PopupMenu? Например, в некоторых компонентах, при ParentFont := True, я писал такую процедуру, выдранную из исходников делфи:
и все работало, но с PopupMenu, видать, дело обстоит иначе. Спасибо! --------------------
Да здраствует ОПТИМИЗМ! |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Попуп нам неподвластен.
Если нужно расширять его функционал, то проще создать свой аналог. Меню - штука модальная и сторонняя. При вызове, наш тред стопорится и передаёт управление Windows. Так что контролировать нечем - стоим, ждём завершения... |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
а зачем? если для того чтобы у меню был тот же шрифт, что и у формы, то делай свою отрисовку в обработчике OnDrawItem -------------------- Обижено школьников: 8 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Окно меню не находится под нашим управлением.
Им управляет система. Да, у него есть механизм колбэков. Но заставить его делать что-то, что не предусмотрено апи, не выйдет. То есть заставить его ловить сообщение и отдавать управление нам не получится. Что касается отработки колбэка OnDrawItem - это подойдёт, если только не будет изменён размер строки. То есть, при смене фонта 10-го размера на 24-й не пройдёт гладко - требуется корректировка высоты итемов. Если меняется только фонт, но не размер, то более-менее приемлемый вариант. Но перерисовка всего меню при этом не произойдёт. |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
сабклассинг? OnMeasureItem? вот поэтому я и спрашиваю зачем это нужно. В большинстве случаев фонт будет изменен когда меню нет на экране и изменения появятся при слебующем отображении меню. Может автору подходит? -------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |