Вниз
Скачать: 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.013 c
3-12607
_MAX_
2003-04-14 18:01
2003.05.05
Data Fetch в BDEClientDataSet из Oracle


8-12834
Чертик
2003-01-28 01:33
2003.05.05
3DModels


4-12964
Chubais
2003-01-31 14:41
2003.05.05
глюк TDBGrid в W2K/XP


1-12807
Spartak
2003-04-22 15:50
2003.05.05
Как проверить существование файла ?


11-12675
zetta
2002-07-11 10:59
2003.05.05
где грабли? delphi и система виснут при попытке закр. программы




   Наверх