if assiged(form1) then form1 :=Tform1.Create(self); //form1.Parent :=Panel1; //这样form1得不到焦点。 window.setparent(form1.handle,panel1.handle);//这样才得到焦点。 form1.show
下面的代码是通过的. procedure TForm2.FormCreate(Sender: TObject); begin form2.Parent:=form1.Panel1; form2.Left:=0; form2.Top:=0; form2.Show; end;
if not assigned(form1) then begin form1 :=Tform1.Create(self); //form1.Parent :=Panel1;//这样form1永远得不到焦点。 windows.setparent(form1.handle,panel1.handle);//应该这样。 form1.show; end;
BorderStyle := bsNone;
他写法有问题,如if form1=nil then,应该这样写if form1<>nil,干脆去掉if这一行,即可.
这样说得通了.
不知我说法对否?
form2.left:=form1.panel1.left+300;
form2.BorderStyle := bsNone;
form2.align:=alClent;
form2.borderstyle:=bsNone;
form2.bringFront;
form1 :=Tform1.Create(self);
//form1.Parent :=Panel1; //这样form1得不到焦点。
window.setparent(form1.handle,panel1.handle);//这样才得到焦点。
form1.show
procedure TForm2.FormCreate(Sender: TObject);
begin
form2.Parent:=form1.Panel1;
form2.Left:=0;
form2.Top:=0;
form2.Show;
end;
begin
form1 :=Tform1.Create(self);
//form1.Parent :=Panel1;//这样form1永远得不到焦点。
windows.setparent(form1.handle,panel1.handle);//应该这样。
form1.show;
end;