我想在主窗体实现子窗体以word形式打开(在主窗体的panel上展开)代码是这样的begin
try
form2 := Tform.Create(Application);
form2.ManualDock(Panel1, nil, AlClient);
form1.show;
except
MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;再在panel的ondockdrop事件上实现
procedure TBM_OFFICEF.Panel1DockDrop(Sender: TObject;
Source: TDragDockObject; X, Y: Integer);
var
i: integer;
begin
i := 0;
while (i <= Panel1.ControlCount - 1) and (Panel1.ControlCount > 1) do
begin
if Panel1.Controls[i] is TForm then
begin
Panel1.Controls[i].Free;
end
else
i := i + 1;
end;
end;
以上能使子窗体form2在主窗体panel展开,但是我想随意的拖动子窗体form2,从panel的界面上跳出来,而不是老是粘在panel的界面上,该怎么实现?是不是还要写些什么代码??或者窗体的属性做些修改??
谢谢!
try
form2 := Tform.Create(Application);
form2.ManualDock(Panel1, nil, AlClient);
form1.show;
except
MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
MB_ICONSTOP);
end;
end;再在panel的ondockdrop事件上实现
procedure TBM_OFFICEF.Panel1DockDrop(Sender: TObject;
Source: TDragDockObject; X, Y: Integer);
var
i: integer;
begin
i := 0;
while (i <= Panel1.ControlCount - 1) and (Panel1.ControlCount > 1) do
begin
if Panel1.Controls[i] is TForm then
begin
Panel1.Controls[i].Free;
end
else
i := i + 1;
end;
end;
以上能使子窗体form2在主窗体panel展开,但是我想随意的拖动子窗体form2,从panel的界面上跳出来,而不是老是粘在panel的界面上,该怎么实现?是不是还要写些什么代码??或者窗体的属性做些修改??
谢谢!
form2.DragMode:=dmAutomatic;