Автор
|
Тема: Как достать меню в чужом окне?
|
Susik |
опубликован 13-10-2001 16:45 MSK
У меня есть прога, в ней я хочу вызвать всплывающее меню. Какую мессагу ей послать, или что-нить сделать, чтобы оно выехало там? И как сделать, чтобы потом на это меню можно было нажать? Тут нужно, чтобы все делалось без участия пользователя :).
|
Iliya
|
опубликован 13-10-2001 17:35 MSK
Я несовсем понял, что тебе нужно, но думаю, это сгодится:HWND hwnd; hwnd=FindWindow(NULL,"My app"); //Можно юзать GetActiveWindow if (hwnd!=NULL) { HMENU hMenu; hMenu=GetMenu(hwnd); if (hMenu!=NULL) { int iCount; iCount=GetMenuItemCount(hMenu); } |
Demo_S
|
опубликован 14-10-2001 02:04 MSK
Можешь попробовать сэмулировать нажатие мышкой на меню. это будет собщение WM_LBUTTONDOWN. А если тебе надо вызвать определенный пункт меню, (но при этом оно не выедет) попробуй WM_COMMAND(только надо знать IDM этого пункта меню). подробнее навреное в MSDN. на найдешь/не поймешь - спрашивай.Во, ток что выгяледел в мсдн - WM_DRAWITEM вызывается для _отрисовки_ визуыльного эффекта у меню, списка, кнопки и чего-то еще... можешь попробовать. а вообще посмотри в сообщении WM_COMMAND внизу список сообщений меню Menu Messages |
Susik
|
опубликован 14-10-2001 15:43 MSK
Спасибо всем, попробую. Если кто еще может предложить что-нить - говорите. :) |
Susik
|
опубликован 14-10-2001 17:05 MSK
В общем, теперь у меня вопросы. Я не пользовался до этого менюшками, поэтому не получается вызвать выпадающую меню. Я использовал TrackPopupMenuEx() для того, чтобы вызвать меню, тока оно не выпадает и возвращает ашыпку. Указатель на меню туда я клал такой: GetSubMenu(GetMenu(),ххх).Научите, пожалста, как оно делается. |