请问怎样隐藏Delphi将无边框窗口最小化时缩小到左下角的标题栏

如果是主窗体,用以下代码。
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Minimize;
end;

如果不是主窗体,在以上代码的基础上,可以考虑重写消息处理程序,对不同的消息进行处理。Delphi7+Windows XP下代码如下:
procedure WMSYSCOMMAND(var Msg: TWMSYSCOMMAND); message WM_SYSCOMMAND;

procedure TForm2.WMSYSCOMMAND(var Msg: TWMSYSCOMMAND);
begin //当最小化时,只显示在任务栏
case msg.CmdType of
61472:
begin
Application.Minimize;//最小化
//Self.Hide;
end;
61728: //还原
begin
Application.Restore;
end;
61536://关闭
begin
self.Hide;
self.Close;
end;
end;
if not ((msg.cmdType=61472) or (msg.cmdType=61536) ) then inherited;
end;
posted @ 2013-04-03 10:14  hanks  阅读(382)  评论(0)    收藏  举报