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

Как создать на API PopUP меню   Найти похожие ветки 

 
Neep   (2003-03-04 11:33) [0]

Как создать на API PopUP меню с возможностью обрабатывать WM_DRAWITEM. Я в этих сообщениях запутался. Может у кого есть готовый пример, как это делается.


 
Игорь Шевченко ©   (2003-03-04 11:41) [1]

Посмотри код VCL - Menus.pas - там все на API


 
Neep   (2003-03-04 13:42) [2]

Я туда сразу полез, но там запутано очень, все сделано через классы и свои переменные


 
Игорь Шевченко ©   (2003-03-04 13:47) [3]

Общий смысл - CreatePopupMenu, InsertMenuItem (здесь указывать, что OWNERDRAW), TrackPopupMenu(Ex) при вызове.


 
Neep   (2003-03-04 14:20) [4]

Все это понятно, непонятно как обработать сообщение WM_DRAWITEM, когда мыша наводится на пункт меню и когда уходит с него, нужно перерисовать, а оно неполючается.


 
Игорь Шевченко ©   (2003-03-04 15:13) [5]

Родительскому окну посылаются сообщения WM_MEASUREITEM/WM_DRAWITEM.


 
МДа..   (2003-03-04 22:55) [6]

Если у тебя получается обработать для любого другого меню, то вопрос исчерпан. Все происходит точно так же. На WM_CREATE установил MFT_OWNERDRAW для итема, в первый раз, когда вызывается итем, обработал WM_MEASURE, и рисуй, что душе угодно в обработчике WM_DRAWITEM.

Весьма доходчиво все это изложено в WIN32SDK.HLP раздел - Creating Owner-Drawn Menu Items. Смотреть по указателю.


 
Neep   (2003-03-05 13:20) [7]

Спасибо за советы, я уже разобрался с этим



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

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



Память: 0.46 MB
Время: 0.01 c
1-12787
I.Ru.Ru
2003-04-22 10:50
2003.05.05
Как сохранить отчет QuickReport в формате doc?


11-12682
Mhorse
2002-07-30 07:35
2003.05.05
Как превратить HWND в PControl?


14-12932
D
2003-04-18 09:47
2003.05.05
Delphi не запускается!


3-12665
Erden
2003-04-05 07:47
2003.05.05
Null-параметры


1-12729
Arch-vile
2003-04-23 00:07
2003.05.05
Undeclared identifier в функциях, процедурах




   Наверх