![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PopupMenu на иконке в трее. [D6, D7, Win95/98, Win2k, WinXP]
vajo © (2004-06-15 19:32:00)Создаю так.
procedure TfmMain.WndProc(var Msg : TMessage);
var p : TPoint;
begin
case Msg.Msg of
WM_USER + 1:
case Msg.lParam of
WM_RBUTTONDOWN:
begin
GetCursorPos(p);
PopupMenu1.Popup(p.x, p.y);
end
end;
end;
inherited;
end;
При работе программы PopupMenu всплывает, но при переходе в др. программу она не убирается
пока не ткнешь в окно моей пронраммы..
Подскажите, как сделать чтобы PopupMenu убиралась.
grom (2004-06-16 21:11:00) [1]http://www.delphiworld.ru/index.php?stat&page=2
---------------------
Секреты иконки в системной трее. Часть 1
Автор: Рустик, Просмотров: 234
Этой статьей я начну свой расскаж о секретах работы с иконкой приложения в системной трее. Эта часть расскажет вам о самом самом начальном: как добавлять/изменять/удалять иконку в трей. А также менять ее параметры во время работы приложения.
---------------------------
Секреты иконки в системной трее. Часть 2
Автор: Рустик, Просмотров: 242
Логическое продолжение предыдущей статьи.
Michael (2004-06-16 19:39:00) [2]procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
SetForegroundWindow(Handle);
end;
nikkie (2004-06-16 14:57:00) [3]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);
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/menureference/menufunctions/trackpopupmenu.asp
grom (2004-06-16 10:57:00) [4]http://www.zdima-iv.nm.ru/delphi.html
пример ICON
grom (2004-06-16 10:54:00) [5]http://www.zdima-iv.nm.ru/delphi.html
пример Color Choose v1.2