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

Как установить ширину PopupMenu при OwnerDraw = True   Найти похожие ветки 

 
L`Autour ©   (2008-08-04 07:38) [0]

Если вручную прорисовываю отдельные элементы меню, то ширина всего меню, определяется остальными элементами меню, иначе в качестве меню получаю узкую полоску.

И еще, если я делаю ручную прорисовку некоторых элементов меню своим шрифтом, то у остальных элементов при их первой прорисовке он сохраняется. Восстанавление шрифта на дефолтный происходит, только если над пунктом меню провести мышкой.


 
L`Autour ©   (2008-08-07 07:20) [1]

Все в отпусках?


 
mdw ©   (2008-08-07 10:08) [2]

Если правильно понял вопрос, то Вам нужно обрабатывать OnMeasureItem, а там Result:= MAKELONG(H, W).


 
mdw ©   (2008-08-07 10:15) [3]

По поводу второго, нужно смотреть как рисуете. Возможно не восстанавливаете шрифт после отрисовки.


 
L`Autour ©   (2008-08-08 08:45) [4]

первое попробую

по второму -  я пробовал просто удалять свой шрифт из DC-контектста меню (после моей обработки вывода),  но это не помагало.


 
mdw ©   (2008-08-08 10:23) [5]


> по второму -  я пробовал просто удалять свой шрифт из DC-
> контектста меню (после моей обработки вывода),  но это не
> помагало.

А старый восстанавливали? Должно быть примерно так:

var Font, OldFont: HFONT;
....
     OldFont:= SelectObject(DC, Font);
.........
     SelectObject(DC, OldFont);
     DeleteObject(Font);


 
L`Autour ©   (2008-08-08 13:45) [6]

сенк


 
L`Aurtour   (2008-08-09 07:58) [7]

DeleteObject(Font); - оказался лишним


 
MTsv DN   (2008-08-09 12:29) [8]

> DeleteObject(Font); - оказался лишним
Не думаю. Память надо беречь 8)


 
L`Autour ©   (2008-08-11 06:52) [9]

С памятью нормально - просто я забыл сказать, что шрифт свой шрифт создаю и уничтожаю при создании и удалении формы. А здесь его только к контексту цепляю.



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

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



Память: 0.46 MB
Время: 0.043 c
15-1270029089
test
2010-03-31 13:51
2010.08.27
Microsoft Visual Studio 2010 beta 2


15-1265990116
awex
2010-02-12 18:55
2010.08.27
Привет Beeline, или новый развод....


6-1217494301
dime_veyron
2008-07-31 12:51
2010.08.27
Версия Windows через локальную сеть


2-1268353155
Женя
2010-03-12 03:19
2010.08.27
связанные таблицы


4-1237964752
Alex1234
2009-03-25 10:05
2010.08.27
Выполнить настройку COM-порта




   Наверх