Форум: "WinAPI";
Текущий архив: 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.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c