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

解决方案 »

  1.   

    是不是想做背景?
    MainForm.Brush.Bitmap:=Image1.Picture.Bitmap;
      

  2.   

    不是,是想把一个TPanel其它控件放上去,但它总是浮动在最前
      

  3.   

    你这样,把其他的控件先cut(按Ctrl多选!),然后选中panel ,Ctrl+V,应该就OK了!
      

  4.   

    不是这样意思,我是说当打开子窗口时,Panel 浮动在子窗口前面,盖住了有没有办法
    把Panel放到最低层,解决了一定给高分
      

  5.   

    cut有时候可以,不过有时候会遇到一些控件分离的情况
    最好的办法还是鼠标右键点击panel然后选control->send to back 即可
      

  6.   

    to  huangbaoty(超越自我) :事实确实是这样的!
      

  7.   

    不是的,无论怎么操作Panel在运行时总是在最前面,盖住了所有的MDI子窗口
      

  8.   

    在Panel上做一个隐藏按钮(代码:Panel1.visible:=not Panel1.visible),设定一快捷键(如F8)与这对应,需要时调出,不要时隐藏.
      

  9.   

    应该这样:鼠标右键点击panel然后选control->send to back
    可能你的窗体上放了其它的控件,窗体默认显示最新加上去的控件
      

  10.   

    你在子窗体显示时把panel隐藏了不就行了
    mdi的主窗体区域是不能放其他控件的
      

  11.   

    但是这样MDI子窗口后面会看不到Panel,有没什么办法像做MDI主窗口背景一样,但背景对像是Panel呢?
      

  12.   

    是这样的:
      MDI中,你一定要往上画,而不是那样,只要画上去,才可以的;
      

  13.   

    你的panel放到主窗口上了吧。
      

  14.   

    我做了一个,不知道是不是你的意思,
    新建一个主窗体,然后再建一个窗口(这我是用一个FORM,还没有设为子窗体的)
    然后在主窗体中加一个BUTTON和一个Panel1,在BUTTON中代吗如下procedure TForm1.ShowForm(FormClass: TFormClass; Form: TForm; FPal: TPanel); //窗口融合
    begin
      if Form = nil then
        Form := FormClass.Create(nil);
      FPal.DockSite := True;
      with Form do
        begin
          DockSite := True;
          DragKind := DkDock;
          Align := alClient;
          HostDockSite := FPal;
          Show;
        end;
    end;别忘记声明啊!procedure TForm1.Button1Click(Sender: TObject);
    begin
    ShowForm(TForm2, Form2, Panel1);
    end;
      

  15.   

    朋友其实这是顺序问题,请问你的panel的sendertoback如何使用?且用在哪里?我会给你解决办法。。