Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

Работа с 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.042 c
15-1157187715
Andy BitOff
2006-09-02 13:01
2006.09.24
DjVu просмотровщик


2-1157200732
Sam Stone
2006-09-02 16:38
2006.09.24
Параметр для потока


3-1153429633
TiFFolk
2006-07-21 01:07
2006.09.24
Ошибка: нехватка памяти+переодически падающий бде админ


15-1157282472
Aligator
2006-09-03 15:21
2006.09.24
Вопрос по поводу Graphics32


1-1155639120
Handle
2006-08-15 14:52
2006.09.24
SysListView32





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский