在使用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