Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TMainMenu + ownerdraw


esVer ©   (2002-11-25 11:05:00) 

Имеется главное меню на форме со стилем ownerdraw. При смене шрифта, которым прорисовывается меню, необходимо сказать меню о необходимости пересчитать размер элементов основной строки меню и перерисовать её. Не подскажете, какие сообщения надо послать меню, чтобы добиться желаемого результата?


esVer   (2002-11-26 14:20:00) [1]

Угу, спасибо. Вторая часть вопроса (про перерисовку) отпадает. Это после борьбы с MeasureItem я на DrawMenuBar забил и забыл.
Осталось только научиться заставлять пересчитывать размер TMenuItem :)


Игорь Шевченко   (2002-11-26 11:30:00) [2]

The application must call the DrawMenuBar function whenever a menu changes, whether or not the menu is in a displayed window.

Ку ?


esVer   (2002-11-26 10:38:00) [3]

Для основной строки DrawMenuBar не работает однозначно.
OnMeasureItem тоже. Проблема возникает только при необходимости отрисовки основной строки, выпадающие меню рисуются нормально.
Заставить пересчитать размер можно изменив Caption одного из TMenuItem в основной строке. Заставить перерисоваться меню можно изменив размер формы. Мне хочется знать как это сделать по человечески (через API), а не через одно место... :(


Игорь Шевченко   (2002-11-25 16:05:00) [4]

DrawMenuBar ?

А также обрабатывать событие OnMeasureItem, где и устанавливать размеры элементов меню.


Наверх

Титульная страница Поиск, карта сайта Написать письмо