在主窗体上打开很多窗口,我在点击按钮,关闭所有窗口.怎么实现?

解决方案 »

  1.   

    用数组或随便记录打开窗口的handle
      

  2.   

    假如是Mdi窗体的话。
    可以这样
     
    var ii:Integer;  for ii := 0 to MainForm.MDIChildCount - 1 do
        MainForm.MDIChildren[ii].Close;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
    begin
      for i := 0 to Screen.FormCount - 1 do
      begin
        if Screen.Forms[i] <> Application.MainForm then
          SendMessage(Screen.Forms[i].Handle, WM_CLOSE, 0, 0);
      end;
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
    begin
      for i := 0 to Screen.FormCount - 1 do
        if Screen.Forms[i] <> Application.MainForm then
          Screen.Forms[i].Close;
    end;
    也可以,上面的写得累赘了!:)