Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

Иконка в Systray 


dr0Ne64   (2002-01-24 01:07) [0]

Меня вот какой вопрос беспокоит:"как поместить иконку своей программы в Systray?"(Windows98)



Pat   (2002-01-24 01:22) [1]

Опять эпидемия началась :-))
Объяснять не буду, сам разберешься...да спать охота, а уже сегодня экзамен...

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
shellApi, StdCtrls, AppEvnts, Menus;

type
TForm1 = class(TForm)
ApplicationEvents1: TApplicationEvents;
PopupM: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
procedure IconMouse(var Msg : TMessage);message WM_USER + 1;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ApplicationEvents1Minimize(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure TForm1.IconMouse(var Msg : TMessage);
var p:tpoint;
begin
getcursorpos(p);
case Msg.LParam of
WM_LBUTTONDBLCLK :
begin
ShowWindow(Application.Handle,SW_SHOW);
Application.Restore;
end;
WM_rbuttonup:
begin
SetForegroundWindow(Handle);
PopupM.Popup(P.X,P.Y);
PostMessage(Handle,WM_NULL,0,0)
end;
end;
end;

Procedure ic(a:boolean);
var nim:tnotifyicondata;
begin
with nim do
begin
cbSize:=sizeof(nim);
wnd:=form1.Handle;
uid:=1;
uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
hicon:=Application.Icon.Handle;
uCallbackMessage:= wm_user+1;
szTip:="Tтю¦ ьрЄ№";
end;

if a then shell_notifyicon(nim_add,@nim) else
shell_notifyicon(nim_delete,@nim);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=canone;
application.Minimize;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ic(true);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
ic(false);
end;

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
showwindow(application.handle,0);
end;

procedure TForm1.N1Click(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
ShowWindow(Application.Handle,SW_SHOW);
Application.Restore;

end;

procedure TForm1.N4Click(Sender: TObject);
begin
application.Minimize;
end;

end.





Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.015 c
3-66796           Demon ltd             2002-02-23 23:27  2002.03.21  
Вывод в отчёт данных из базы


1-66826           Alev                  2002-03-07 12:36  2002.03.21  
Flash


14-66976          ATLANTIDO             2002-02-05 00:46  2002.03.21  
ХАКЕРСТВО НЕ В ЗАКОНЕ ?


14-66955          VladimirL             2002-02-04 15:18  2002.03.21  
Как сделать, чтобы в меню


1-66844           Techno                2002-03-05 11:27  2002.03.21  
Настройка принтера