if form1=nil then
form1 :=Tform1.Create(self);
form1.Parent :=Panel1;
form1.show

解决方案 »

  1.   

    将Form的Parent设成Panel即可
    BorderStyle := bsNone;
      

  2.   

    我觉得njbudong(午夜游民)说法与问题不对。
    他写法有问题,如if form1=nil then,应该这样写if form1<>nil,干脆去掉if这一行,即可.
    这样说得通了.
    不知我说法对否?
      

  3.   

    很多办法,看用哪种了。 我以前是用这种方法实现的。form2.top:=Form1.panle1.Top+70;
    form2.left:=form1.panel1.left+300;
      

  4.   

    form2.parent;=form1.panel1;
    form2.BorderStyle := bsNone;
      

  5.   

    form2.parent:=form1.panel1;
    form2.align:=alClent;
    form2.borderstyle:=bsNone;
    form2.bringFront;
      

  6.   

    if assiged(form1) then
    form1 :=Tform1.Create(self);
    //form1.Parent :=Panel1; //这样form1得不到焦点。
    window.setparent(form1.handle,panel1.handle);//这样才得到焦点。
    form1.show
      

  7.   

    下面的代码是通过的.
    procedure TForm2.FormCreate(Sender: TObject);
    begin
    form2.Parent:=form1.Panel1;
    form2.Left:=0;
    form2.Top:=0;
    form2.Show;
    end;
      

  8.   

    if not assigned(form1) then
    begin
    form1 :=Tform1.Create(self);
    //form1.Parent :=Panel1;//这样form1永远得不到焦点。
    windows.setparent(form1.handle,panel1.handle);//应该这样。
    form1.show;
    end;