Вниз
Скачать: CL | DM;

TMainMenu + ownerdraw   Найти похожие ветки 

 
esVer   (2002-11-25 11:05) [0]

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


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

DrawMenuBar ?

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


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

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


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

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 14:20) [4]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
14-37349
Дмитрий К.К.
2002-12-24 18:45
2003.01.13
Родина должна знать своих героев!


1-37039
adolf_99
2003-01-02 15:36
2003.01.13
Помогите


3-36955
Mr.Hunter
2002-12-18 09:10
2003.01.13
Быть InterBase или не быть, вот в чем вопрос!


3-36952
Veronika
2002-12-18 13:20
2003.01.13
TIBDataSet неправильно работает


4-37457
GROL
2002-11-25 12:23
2003.01.13
Как определить экранные координаты Menu?




   Наверх