delphi模态窗体最小化会隐藏的问题

在使用delphi创建模态窗体的时候最小化窗体会导致最小化的窗体不可见,再次点击主窗体才会显示。

在这个模态窗体中增加以下函数

 

  procedure WmSysCommand(var msg: TMessage); message WM_SYSCOMMAND;

 

 

 

procedure TForm1.WmSysCommand(var msg: TMessage);
begin
  inherited;//必须加,否则模态窗关闭最大化还原将不能用
  if msg.WParam = SC_MINIMIZE then
  begin
    Form1.WindowState := wsMinimized;
    Form2.Show;
  end
end;
end.

实现如上。

 

系统会自动检测消息。如果发现是窗体最小化事件,则进行消息处理。在消息处理中加一句show让其显示即可。

http://blog.csdn.net/sushengmiyan/article/details/7803411

posted @ 2016-02-05 22:57  findumars  Views(652)  Comments(0Edit  收藏  举报