在MDI主窗口中放入TPanel控件,当打开子窗口时,Panel为什么总是浮动在最前面

解决方案 »

  1.   

    为什么又开一个贴子?刚才已回答过,凡是从TWinControl继承下来的控件,放在MDI主窗口上,就会显示在子窗口上面,TPanel也不例外。
    你可以让TPanel依靠在左边(Align := alLeft),这样建立子窗口后不会出现在它下面,但是用户一旦移动子窗口,它还是会在PANEL下面去的。
      

  2.   

    大哥,没有啊。我这里好着呢
    你把他们的visibel属性都设成false了吗?
      

  3.   

    To: SeaWave(NoSound) 
      你说的也不对啊,我照你的方法去把panel的align:=alnone 还是可以啊
    没有发现它浮在上面来啊
      

  4.   

    这个问题不太好解决,用其他控件代替panel算了
      

  5.   

    晕,楼主说的是MDI窗口,各位没有发生问题的,是MDI窗口吗?
      

  6.   

    呵呵终于找到答案了 
    原来是 你的 设置有 问题 
    To:SeaWave(NoSound)
       楼 主 我也 终于遇到类似的问题了解决方法:
    你们把MDI主窗体的visible属性设置成false就 可以了 
      

  7.   

    你是不是想子窗体在PAENL上,而且还能移动啊?
      

  8.   

    和上次那个button的帖子差不多,我解决过的,办法就是,不要把子窗体设置为fsMDIChild,而只是将主窗口设置为fsMDIForm显示子窗口的时候这样
     form2:=TForm2.Create(form1);
     form2.Parent:=form1;
     form2.show;
      

  9.   

    把panel的visibel属性设置为false就好了
      

  10.   

    如果你是想做工具条,可以试试TToolBar 和TCoolBar等控件
      

  11.   

    to:楼主
      你的问题有难度,你这样做绝对不行,其实MDI主窗体下面有一个类名为MDIClient的窗口,他负责管理MDI子窗体的显示,如果你直接在MDI主窗体上放panel,正好覆盖掉了客户区,当然无法显示了.我花了一个多小时,终于解决了你这个问题(Windows程序设计第五版第二本书有详述).
    在主窗体的oncreate事件中写
      chart1 := Tchart.Create(nil);
      chart1.left :=10;
      chart1.top := 10;
      chart1.width := 10;
      chart1.height := 10;
      chart1.Visible := true;
      chart1.Name := 'memo1';
      chart1.ParentWindow := ClientHandle;
    剩下的事你自己做了.
    哇,300分啊!!!!
      

  12.   

    fim的方法最好解决了我多年来想解决的问题!!
      

  13.   

    我还是觉得用CHILDFORM解决还是好一点!!