有两上Form,一个是Form1,上有 Panel1,一个是Form2,我要在Form1.Panel1上显示Form2。。如何做?
就是像窗口容器一样的。。Form1左边是树形,右边是Panel1

解决方案 »

  1.   

    form2.parent:=panel1;
    form2.show;
      

  2.   

    class function TConsoleAdapter.SetChildForm(ParentControl: TWinControl;
      var ChildForm: TForm; ChildClass: string): boolean;
    var
      FormClass: TFormClass;
    begin
      if not Assigned(ChildForm) then
      begin
        FormClass := TFormClass(GetClass(ChildClass));
        if Assigned(FormClass) then
          ChildForm := FormClass.Create(ParentControl);
      end;  ChildForm.Visible := False;
      ChildForm.BorderStyle := bsNone;
      ChildForm.SetBounds(0, 0, ParentControl.Width, ParentControl.Height);  Windows.SetParent(ChildForm.Handle, ParentControl.Handle);
      ChildForm.Visible := True;  //眖Console虫縒陪ボ怠砰砞consoleDisabled,
      //狦秸ノよ猭SetChildFormㄓ临砞竚Console怠砰,
      //ê或ゲ惠砞Enabled.
      TConsoleAdapter.SetConsoleEnabled(True);  Result := True;
    end;
      

  3.   

    楼上的已经说了,指明form2的parent 是panel1就OK!
      

  4.   

    是,这我知道了。。如果Form2在Dll中如何呢?
    我试过,把Application传入Dll中,
    在Dll中如下:
        Form2:=TForm1.Create(p) ;//p是application
        Form2.Parent:=a_han;     //a_han是Panel
        Form2.show;
    现在无法显示出来啊。。如果是同一个工程,这样做就可以,跨DLL不知道为什么有问题?
      

  5.   

    创建是成功了,但就是不在Panel中显示Form2....
    如果Form2.Parent:=a_han;去掉就可以。。
      

  6.   

    SetConsoleEnabled
    是什么玩意?在D6里没有啊!
      

  7.   

    借宝地问一下:如果想要窗体创建后以dock方式显示在panel上,怎么做呢?窗体是临时建立的。
      

  8.   

    这样的,觉得还是用MDI,比较好!
      

  9.   

    至于,你的问题,设parent就可以了。
      

  10.   

    同一工程重
    form2.parent:=panel1;
    form2.show;
    这样就ok!
    如果在dll中在show 后面 加个 repaint就可以显示啦;
      

  11.   

    form2.parent:=form1.panel
    就行了
      

  12.   

    在DLL里这样用我试过,我可以把它调用出来,但有一个不好的问题,就是调用的主窗体和DLL里的FORM在同一时间只能有一个有焦点,这样的话,主窗体上的一个快捷键就不能用了.
      

  13.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      form:TForm;
    begin
      form:=TForm.Create(self);
      form.Parent:=Panel1;
      form.Visible:=true;
    end;
      

  14.   

    无法在panel上显示滚动条,怎么办?
      

  15.   

    >>无法在panel上显示滚动条,怎么办?Additional-scrollbox放到panel