打开子窗口

procedure OpenChildForm(FormClass: TFormClass; var Fm; AOwner:TComponent);
var
  i: integer;
  Child:TForm;
begin
  for i := 0 to Screen.FormCount -1 do
      if Screen.Forms[i].ClassType=FormClass then
      begin
        Child:=Screen.Forms[i];
        if Child.WindowState=wsMinimized then
           ShowWindow(Child.handle,SW_SHOWNORMAL)
        else
           ShowWindow(Child.handle,SW_SHOWNA);
        if (not Child.Visible) then Child.Visible:=True;
        Child.BringToFront;
        Child.Setfocus;
        TForm(Fm):=Child;
        exit;
      end;
  Child:=TForm(FormClass.NewInstance);
  TForm(fm):=Child;
  Child.Create(AOwner);
end;

使用方法:

OpenChildForm(TChildForm1,ChildForm1, Self);

posted @ 2009-03-23 20:05  DELPHI&.NET初学者[TECSOON WENDAY]  阅读(191)  评论(0)    收藏  举报