窗口最小化问题(50分)

  • 主题发起人 主题发起人 张远
  • 开始时间 开始时间

张远

Unregistered / Unconfirmed
GUEST, unregistred user!
当按窗口右上角的关闭按钮时,怎样截获消息,使窗口最小化,而不是关闭。
 
呵呵,自己做一个假的标题,按X按钮时如下即可

procedure TForm1.Button1Click(Sender: TObject);
begin
Application.Minimize;
end;
 
按窗口右上角的关闭按钮后,窗体触发FormClose事件,可以在其间处理

定义一个窗体内的bool变量CanCloseA,true可以关闭,false不关闭
我用的是BCB代码,delphi我没有装
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if (CanCloseA == true)
Action = caFree;
else
{
Application->Minimize();
Action = caNone;
}
}
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:= caMinimize;
end;
 
;TForm1 = class(TForm)
private
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
end;

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
case Message.CmdType of
SC_CLOSE: Application.Minimize;
else inherited;
end;
end;
 
时间太久,强制结束。 wjiachun
 
后退
顶部