不是非常明白你的意思,如果一共只有一个子窗口,那可以这样判断
procedure TForm1.Menu1Click(Sender: TObject);
begin
if MDIChildCount = 0 then
//子窗口还没有
MDIChild := TMDIChild.Create(Self);//创建
end;
如果有多个子窗体,并且类名不一样,那可以这样:
procedure TForm1.Menu1Click(Sender: TObject);
var
I: integer;
begin
for I := 0 To MDIChildCount - 1 do
if MDIChildren is TMDIChild then
exit;
//假设类名是TMDIChild,如果已经有了,那就退出
MDIChild := TMDIChild.Create(Self);//创建
end;