我写的托盘程序为何一关主窗口就退出了?(50分)

  • 主题发起人 主题发起人 delphi0808
  • 开始时间 开始时间
D

delphi0808

Unregistered / Unconfirmed
GUEST, unregistred user!
类似foxmail,只能按最小化按钮,否则按关闭按钮就退出了
 
关闭的时候执行缩小到托盘就可以了。
procedure Tmain.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if ID_YES = application.MessageBox('你确定要退出此程序吗?', '退出确认?', MB_ICONQUESTION + mb_yesno + MB_DEFBUTTON2) then
begin
application.terminate;
end
else
begin
action := canone;
end;
end;
 
关闭了窗口,任务栏上的图标还在,如何做?
 
点击关闭窗口时:
Application.ShowMainForm:=false;
 
你可以设成按最小化按钮的时候隐藏窗口
Application.OnMinimize:=FormMin;
procedure TForm1.FormMin(Sender: TObject);
begin
ShowWindow(Handle, SW_HIDE);
//隐藏主窗体
ShowWindow(Application.Handle, SW_HIDE);
//隐藏应用程序窗口在任务栏上的显示
end;

关闭按钮的时候最小化
procedure TForm1.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if Tag = 0 then
//可以设置Tag来判断是否是真的关闭
CanClose := False;
end;

当要真正关闭窗口的时候,设置Tag:=1;再Close;
 
后退
顶部