我有一个MDI的子窗口叫 mydoc  一个叫 myinfo 请问怎么打开它们,在MDI主窗口上怎么写函数调用

解决方案 »

  1.   

    procedure TMainForm.Openmdiwin(Sender: TFormClass);
    Var
      iii:Integer;
      Frm:TForm;
    begin
        For iii:=0 to MainForm.MDIChildCount-1 Do Begin
            if MainForm.MDIChildren[iii].ClassType=Sender Then Begin
               Frm:=MainForm.MDIChildren[iii];
               if Frm.WindowState=wsMinimized then //為最小化
                  ShowWindow(Frm.handle,SW_SHOWNORMAL)
               Else
                  ShowWindow(Frm.handle,SW_SHOWNA);
               if (Not Frm.Visible) then Frm.Visible:=True;
               Frm.BringToFront;
               Frm.SetFocus;
               Exit;
            End;
        End;
        Frm:=TForm(Sender.NewInstance);
        Frm:=Frm.Create(Self);
        Frm.Show;
    end;
      

  2.   

    procedure TMainForm.Openmdiwin(Sender: TFormClass);
    Var
      iii:Integer;
      Frm:TForm;
    begin
        For iii:=0 to MainForm.MDIChildCount-1 Do Begin
            if MainForm.MDIChildren[iii].ClassType=Sender Then Begin
               Frm:=MainForm.MDIChildren[iii];
               if Frm.WindowState=wsMinimized then //為最小化
                  ShowWindow(Frm.handle,SW_SHOWNORMAL)
               Else
                  ShowWindow(Frm.handle,SW_SHOWNA);
               if (Not Frm.Visible) then Frm.Visible:=True;
               Frm.BringToFront;
               Frm.SetFocus;
               Exit;
            End;
        End;
        Frm:=TForm(Sender.NewInstance);
        Frm:=Frm.Create(Self);
        Frm.Show;
    end;