Re[3]: HMENU -> HWND
От: Кодт Россия  
Дата: 31.01.02 14:33
Оценка:
Здравствуйте deemer, Вы писали:

D>спасибо, но...


D>>>Есть ли возможность получить хэндл окна контекстного меню (popup menu)?

KSA>>Нет, его не существует.

D>предположим его не существует...

D>чем же тогда является контекстное меню, если не окном?

Меню — это окно, но изловить его — почти дохлый номер.
При известной ловкости можно проанализировать его, например, Spy++, или своей программой (которая мониторит окна), или повесив хук...
(я это делал успешно).

Но овчинка, как правило, выделки не стоит. Если нужно что-то нарисовать в меню, то нужно объявить элемент меню как MFT_OWNERDRAW (см. ::InsertMenuItem(), MENUITEMINFO)
и в программе обрабатывать WM_MEASUREITEM & WM_DRAWITEM.
Кстати, WM_DRAWITEM передает DRAWITEMSTRUCT, в котором есть контекст меню (hDC).
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.