Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];

Вниз

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

Форум: "WinAPI";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-12775
Lighnam
2003-04-21 10:27
2003.05.05
несколько расширений в 1 строке фильтра в open dialog


8-12842
VinRaider
2003-01-18 00:43
2003.05.05
Перемещение курсора


3-12630
Stelius
2003-04-12 00:11
2003.05.05
Заполнение таблиц в IBEpert e


1-12777
Angel_Forever
2003-04-21 12:04
2003.05.05
case .. of, random и счётчик


14-12869
Карлсон
2003-04-16 17:25
2003.05.05
экология





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский