procedure Tfrmmain.FormCreate(Sender: TObject);
begin
AddIcon;
end;
procedure tfrmMain.MyIcoMesDo(var Msg:TMessage);
begin
if (msg.LParam=wm_rbuttonDown) and (not self.Visible) then
popupMenu1.Popup(screen.Width-15 ,screen.Height-80); //在图标上单击右键,弹出菜单
if (Msg.LParam=WM_LBUTTONDBLCLK) and self.Enabled then
NvisibleClick(self);//双击图标,显示(隐藏)窗口
if (Msg.LParam=WM_lbuttonDown) and self.Enabled then
NvisibleClick(self);//单击图标,显示(隐藏)窗口
end;
procedure TfrmMain.WMSyscommand(var msg: TWMSyscommand);
begin
case msg.CmdType of
SC_MINIMIZE: NvisibleClick(self); //窗口系统命令,最小化时隐藏窗口
sc_close:close; //关闭命令,关闭窗口
end;
end;
procedure Tfrmmain.NcloseClick(Sender: TObject);
begin
close;
end;
procedure Tfrmmain.NvisibleClick(Sender: TObject);
begin
if copy(Nvisible.Caption,1,4)='隐藏' then
Nvisible.Caption:='显示'
else nvisible.caption:='隐藏';
self.Visible:=not self.Visible;
end;
procedure Tfrmmain.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_delete,PNotify);
Dispose(Pnotify);
end;
end.
下面是窗口上放的一个POPUPMENU。
object PopupMenu1: TPopupMenu
Left = 120
Top = 128
object Nvisible: TMenuItem
Caption = '隐藏'
OnClick = NvisibleClick
end
object Nclose: TMenuItem
Caption = '退出'
OnClick = NcloseClick
end
end