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

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

SetMenuItemBitmaps or SetMenuItemInfo [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


Nick Denry ©   (2003-05-08 20:12:00) 

Здравствуйте все!
Есть проблема: очень надо меню с картинками (как Explorer\Создать)
Прога полностью на АПИ, VCL само-собой мастдай........
Гружу меню из ресурса, ставлю картинки при помощи указанных в теме функций, но при выделении пункта меню картинки инвертируются(становятся негативом)!
мне отвечали, что нужно обрабатывать wm_drawitem + wm_measureitem,
но как это сделать, я не понял.
Если кто-то знает как этот сделать, помогите пожалуйста.
Это последняя недоделка в моем проджекте, и обидно, что он так повис.

P.S. Если знаете статьи на эту тему или есть примеры, то дайте пожалуйста ссылку или кидайте мылом NickD@Rambler.ru

С уважением, Nick denry!


Nick Denry   (2003-05-10 01:09:00) [1]

2>nikkie
Cпасибо, я и говорю - ступил я.


nikkie   (2003-05-08 21:36:00) [2]

конкретней вопрос. что не понятно?

WM_MEASUREITEM
idCtl = (UINT) wParam; // control identifier
lpmis = (LPMEASUREITEMSTRUCT) lParam; // item-size information

idCtl
If the value is zero, the message was sent by a menu.

lpmis
Points to a MEASUREITEMSTRUCT structure that contains the dimensions of the owner-drawn control or menu item.

тебе надо заполнить itemWidth и itemHeight в этой структуре.



на WM_DRAWITEM - ты руками рисуешь пункт меню


Nick Denry   (2003-05-08 21:18:00) [3]

SDK и MSDN смотрю первым делом, но на сей раз "либо лыжи не едут, либо я туповат"
Нифига там не понял.


nikkie   (2003-05-08 21:00:00) [4]

>мне отвечали, что нужно обрабатывать wm_drawitem + wm_measureitem
правильно тебе отвечали

>но как это сделать, я не понял
раз ты написал программу на api, значит обрабатывать сообщения умеешь. в WndProc твоего окна добавь обработку этих сообщений. а что передается параметрами этих сообщений что ты там должен сделать - смотри в Win32 SDK Reference или MSDN.


Наверх

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