Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как создать на 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо