您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 如何才能让主窗体最小化时,子窗体不最小化

如何才能让主窗体最小化时,子窗体不最小化

来源:网络整理     时间:2016/7/7 4:10:17     关键词:

关于网友提出的“ 如何才能让主窗体最小化时,子窗体不最小化”问题疑问,本网通过在网上对“ 如何才能让主窗体最小化时,子窗体不最小化”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何才能让主窗体最小化时,子窗体不最小化
描述:

如何才能让主窗体最小化时,子窗体不最小化,还能正常显示,请高手指教


解决方案1:

在MDI中不大可能做到。一般情况下你应该是另外的一个单独的窗口,而不是子窗口。

解决方案2:

支持
一楼的想法可以

解决方案3:

跟进。。。。。。
---------------
估计截系统消息可以做到

解决方案4:

重载Createparams,改变窗体风格,设置父句柄为桌面,代码大概如下:
private 
   procedure Createparams(var params: TCreateParams);override;
procedure TForm1.Createparams(var params: TCreateParams);
begin
  inherited CreateParams(Params);
  with params do
  begin
    Style:=WS_POPUP;
    ExStyle :=  WS_EX_TOOLWINDOW or WS_EX_TOPMOST or WS_EX_NOACTIVATE or WS_EX_WINDOWEDGE;
    WndParent := GetWindow(FindWindow('Progman', nil), GW_CHILD);
  end;
end;

解决方案5:

这样可以,我试过
http://community.csdn.net/Expert/topic/4896/4896453.xml?temp=.6527979

解决方案6:

学习啊

解决方案7:

学习学习

解决方案8:

学习了

解决方案9:

TForm1是表示子窗口吧?
ShowWindow(Handle, SW_MINIMIZE)是不是应该改成ShowWindow(Handle, SW_SHOWNORMAL)啊?
反正我是没有试过的。

解决方案10:

>>如何才能让主窗体最小化时,子窗体不最小化,还能正常显示,请高手指教
如果是MDI的情况下,MainForm都最小化了,ChildForm,自然也跟着最小化了
ChildForm不就是显示在MainForm的客户区吗?

解决方案11:

首先楼主要明白Delphi当中Application的机制.首先Application会截掉部分主窗体的信息,而此时如果发送到主窗体一个最小化的消息,则Application会进行处理,而并不是主窗体自己处理,所以当你把主窗体的消息拦截掉不传递给Application的话,它就不知道这个消息,此时你直接把主窗体最小化就不会影响到其它窗体.

解决方案12:

private
    { Private declarations }
    procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
  public
//...
procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
  with Message do
  begin
    if CmdType and $FFF0 = SC_MINIMIZE then
      ShowWindow(Handle, SW_MINIMIZE)
    else inherited;
  end;
end;


以上介绍了“ 如何才能让主窗体最小化时,子窗体不最小化”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2364878.html

相关图片

相关文章