Вниз
Скачать: 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.012 c
6-12856
Volly
2003-03-09 18:41
2003.05.05
Перенос содержимого HTM файла в Memo


4-12978
cult
2003-03-06 13:18
2003.05.05
Как загрузить ресурсы из DLL-ки?


1-12754
SemFLY
2003-04-20 18:22
2003.05.05
Консольное приложение....


14-12876
Ajax
2003-04-14 16:15
2003.05.05
StretchBlt


3-12656
PrettyFly
2003-04-16 13:47
2003.05.05
Функции...




   Наверх