MDI主窗体直接放入控件会挡主子窗体!有没有办法能够解决!

解决方案 »

  1.   

    主窗体可以放一个Panel 将MDI子窗体的parent设置 PANEL 通过panel的 VISIBLE 控制窗体效果。
      

  2.   


    将webbrowser放到panel上,主窗体创建时,写如下代码,可以实现子窗体不被遮挡,但是不知道是不是会影响你其它的操作,你可以试试
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Panel1.Parent := nil;
      Panel1.ParentWindow := self.ClientHandle;
      Panel1.Align := alClient;
      Self.InsertControl(Panel1);
    end;
      

  3.   

    你的意思是不是TWebBrowser放在Panel上,但子窗体显示时,Panel VISIBLE为False;
    这样不是我要的效果!TWebBrowser我是作为主页,子窗体显示时,TWebBrowser还是可见,不能隐藏。
      

  4.   

    恩!可以实现,但好象有点影响界面美观!
      Panel1.ParentWindow := self.ClientHandle;
      Self.InsertControl(Panel1);
    这两行代码不懂?
      

  5.   

    估计是不行,窗体最大化一样会达不到你的效果。其实最好还是别用MDI窗体 用普通窗体 将窗体加载到Panel中 那样的效果最好。
      

  6.   

    我明白,可是我需要的效果是:TWebBrowser显示主页面,但子窗体显示时,TWebBrowser还是可见的,只是它只是在子窗体下面而已!
    如果是你这样的话,你窗体显示了,必须把TWebBrowser的Panel隐藏!总结下:
      1.不用MDI窗体,TWebBrowser不会遮挡子窗体(但我又必须要这样)
      2.用2楼的办法,其实可以实现,但会影响操作.但点击TWebBrowser的Panel后,子窗体又被TWebBrowser的Panel遮挡了!而且Panel位置不好设置,只能用API函数MoveWindow设置;再一个,但子窗体移到主窗体里面后,Panel把显示区域扩大了!