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

Создание меню для иконки в System tray   Найти похожие ветки 

← →
Airdriver ©   (2003-03-27 10:35) [0]

Народ, объясните как создать выподающее меню для программы, которая находится в System tray, по нажатию правой кнопки мыши? И как сделать чтоб по нажатию левой кнопки программа максимизировалась?


← →
Jel ©   (2003-03-28 14:50) [1]

После помещения значка в трей программа получает сообщения от него в том числе и при нажатии правой кнопкой мыши на значке. Сообщение надо ловить и показывать по нему меню. Все описано в хелпе. См. Shell_NotifyIcon, NOTIFYICONDATA.uCallbackMessage


← →
panov ©   (2003-03-28 16:00) [2]

const
WM_MYICONNOTIFY = WM_USER + 10;
procedure TfMonDirMain.WMICON(var msg: TMessage);
var
p: TPoint;
begin
case msg.LParam of
WM_LBUTTONDBLCLK : RestoreClick(Self);
WM_RBUTTONUP:
begin
GetCursorPos(p);
pm.Popup(P.X, P.Y);
end;
end;
end;


procedure TfMonDirMain.AddTrayIcon;
var
nid: TNotifyIconData;
begin
nid.cbSize := SizeOf(TNotifyIconData);
nid.Wnd := Self.Handle;
nid.uID := 1;
nid.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
nid.uCallBackMessage := WM_MYICONNOTIFY;
nid.hIcon := Application.Icon.Handle;
StrPCopy(nid.szTip,Application.Title);
Shell_NotifyIcon(NIM_ADD, @nid);
end;

procedure TfMonDirMain.HideClick(Sender: TObject);
begin
AddTrayIcon;
ShowWindow(Application.MainForm.Handle,SW_HIDE);
ShowWindow(Application.Handle,SW_HIDE);
end;


← →
Intell ©   (2003-03-28 22:00) [3]

Есть компонент TrayIcon, там данные функции есть.

sergein@nojabrsk.ru



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

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



Память: 0.45 MB
Время: 0.013 c
3-30280
smallll
2003-03-21 19:41
2003.04.10
Как программно добавить/удалить Alias?


1-30371
Intell
2003-03-28 22:02
2003.04.10
Условие с ShellApi


14-30594
race1
2003-03-26 07:19
2003.04.10
size


14-30595
acsoft
2003-03-25 06:31
2003.04.10
Создать zip-архив


4-30651
Tuzemec
2003-02-04 00:08
2003.04.10
Консольные приложения




   Наверх