Вниз
Скачать: CL | DM;

Работа с PopUpMenu   Найти похожие ветки 

← →
RebroFF   (2006-09-01 14:00) [0]

Вопрос такой:вызываю контекстное меню значка программы в трее, но после, по клику вне области меню последнее нагло не хочет убираться. Наверное нужно послать сообщение хендлу ПопАпа, но где, откуда и какое?


← →
Steep ©   (2006-09-01 14:29) [1]

PostMessage(Handle, WM_NULL, 0, 0);


← →
Steep ©   (2006-09-01 14:29) [2]

опть таки за неправильные коды в таком состоянии не несу...


← →
RebroFF   (2006-09-01 16:49) [3]

А на какое событие посылать сообщение?


← →
zdm ©   (2006-09-01 16:52) [4]

FindWindow


← →
zdm ©   (2006-09-01 16:53) [5]

не, ступил, извини, а действительно интересная задачка как отловить окно не из своей программы??


← →
DiamondShark ©   (2006-09-01 17:49) [6]

Вот про такие шаманские пляски с бубном пишут в Торе:

--------------------------------------------------------------------------------
TrackPopupMenu Function
<...>
Remarks
<...>
To display a context menu for a notification icon, the current window must be the foreground window before the application calls TrackPopupMenu or TrackPopupMenuEx. Otherwise, the menu will not disappear when the user clicks outside of the menu or the window that created the menu (if it is visible). However, when the current window is the foreground window, the second time this menu is displayed, it displays and then immediately disappears. To correct this, you must force a task switch to the application that called TrackPopupMenu at some time in the near future. This is done by posting a benign message to the window or thread, as shown in the following code sample:


  SetForegroundWindow(hDlg);

  // Display the menu
  TrackPopupMenu(   hSubMenu,
                    TPM_RIGHTBUTTON,
                    pt.x,
                    pt.y,
                    0,
                    hDlg,
                    NULL);

  PostMessage(hDlg, WM_NULL, 0, 0);

--------------------------------------------------------------------------------

В переводе на дельфиний

  SetForegroundWindow(PopupList.Window);
  PopupMenu1.Popup(X, Y);
  PostMessage(PopupList.Window, WM_NULL, 0, 0);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
15-1156917026
worldmen
2006-08-30 09:50
2006.09.24
Какие видеокарты лучше в раене 80-100$


15-1156938754
term1t
2006-08-30 15:52
2006.09.24
Компоненты...


1-1155282476
Zilog_
2006-08-11 11:47
2006.09.24
Ребята помогите разобраться с переводом с С++ в Делфи


15-1157559096
BFG9k
2006-09-06 20:11
2006.09.24
Перевод XML в HTML


15-1157124935
AxelBlack
2006-09-01 19:35
2006.09.24
Программка для .tif




   Наверх