Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

System tray [D5, Win95/98]


Stany ©   (2002-07-23 20:28:00) 

Как составить PopupMenu r к иконке минимизированного в Sustem tray
приложения?


Ich Hasse   (2002-07-23 21:47:00) [1]

Procedure InTray(n:Integer;Icon:TIcon);
protected
Procedure IconMouse(var Msg : TMessage); message WM_USER+1;


Procedure TMain.InTray(n:Integer;Icon:TIcon);
Var Nim:TNotifyIconData;
begin
With Nim do
Begin
cbSize:=SizeOf(Nim);
Wnd:=Main.Handle;
uID:=1;
uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
hicon:=Icon.Handle;
uCallbackMessage:=wm_user+1;
szTip:="Конфигуратор";
End;
Case n OF
1: Shell_NotifyIcon(Nim_Add,@Nim);
2: Shell_NotifyIcon(Nim_Delete,@Nim);
3: Shell_NotifyIcon(Nim_Modify,@Nim);
End;
end;

procedure TMain.IconMouse(var Msg:TMessage);
Var p:tpoint;
begin
GetCursorPos(p);
Case Msg.LParam OF
WM_LBUTTONDBLCLK: Begin
InTray(2,Application.Icon);
ShowWindow(Handle,SW_SHOW);
ShowWindow(Application.Handle,SW_SHOW);
End;
WM_RBUTTONUP:
Begin
SetForegroundWindow(Handle);
TrayMenu.Popup(p.X,p.Y);
PostMessage(Handle,WM_NULL,0,0);
end;
End;
end;


Вот так первая для прятанья/показывания, вторая для меню.


Наверх

Титульная страница Поиск, карта сайта Написать письмо