![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создать на API PopUP меню
Neep © (2003-03-04 11:33:00)Как создать на API PopUP меню с возможностью обрабатывать WM_DRAWITEM. Я в этих сообщениях запутался. Может у кого есть готовый пример, как это делается.
Neep (2003-03-05 13:20:00) [1]Спасибо за советы, я уже разобрался с этим
МДа.. (2003-03-04 22:55:00) [2]Если у тебя получается обработать для любого другого меню, то вопрос исчерпан. Все происходит точно так же. На WM_CREATE установил MFT_OWNERDRAW для итема, в первый раз, когда вызывается итем, обработал WM_MEASURE, и рисуй, что душе угодно в обработчике WM_DRAWITEM.
Весьма доходчиво все это изложено в WIN32SDK.HLP раздел - Creating Owner-Drawn Menu Items. Смотреть по указателю.
Игорь Шевченко (2003-03-04 15:13:00) [3]Родительскомуокну посылаются сообщения WM_MEASUREITEM/WM_DRAWITEM.
Neep (2003-03-04 14:20:00) [4]Все это понятно, непонятно как обработать сообщение WM_DRAWITEM, когда мыша наводится на пункт меню и когда уходит с него, нужно перерисовать, а оно неполючается.
Игорь Шевченко (2003-03-04 13:47:00) [5]Общий смысл - CreatePopupMenu, InsertMenuItem (здесь указывать, что OWNERDRAW), TrackPopupMenu(Ex) при вызове.
Neep (2003-03-04 13:42:00) [6]Я туда сразу полез, но там запутано очень, все сделано через классы и свои переменные
Игорь Шевченко (2003-03-04 11:41:00) [7]Посмотри код VCL - Menus.pas - там все на API