![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.