我知道怎么樣把子窗口一打開就最大化﹐比如我通過menu1菜單打開子窗口﹐這時子窗口是最大化的﹐但我把子窗口最小化后我怎么樣可以通過單擊menu1使它重新最大化.

解决方案 »

  1.   

    子窗口.WindowState := wsMaximized;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    下面是别人做的一个程序,可以参考:
    unit Maxform;interfaceuses
      SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
      Forms, Dialogs;type
      TMaxForm = class(TForm)
      private
        { Private declarations }
        fmh, fmw, fml, fmt : word;
        procedure mymax(var m: TWMGETMINMAXINFO);
                  message wm_getminmaxinfo;
      published
        property maxheight : word read mh write mh;
        property maxwidth  : word read mw write mw;
        property maxleft   : word read ml write ml;
        property maxtop    : word read mt write mt;
        constructor create(AOwner : TComponent); override;
      end;implementationprocedure TMaxForm.mymax(var m : TWMGETMINMAXINFO);
    begin
      m.minmaxinfo^.ptmaxsize.x := fmw;
      m.minmaxinfo^.ptmaxsize.y := fmh;
      m.minmaxinfo^.ptmaxposition.x := fml;
      m.minmaxinfo^.ptmaxposition.y := fmt;
    end;constructor TMaxForm.create(Aowner : TComponent);
    begin
      fmw := screen.width;
      fmh := screen.height;
      fmt := 0;
      fml := 0;
      inherited create(aowner);
    end;end.
      

  3.   

    下面是别人做的一个程序,可以参考
    unit Maxform;interfaceuses
      SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
      Forms, Dialogs;type
      TMaxForm = class(TForm)
      private
        { Private declarations }
        fmh, fmw, fml, fmt : word;
        procedure mymax(var m: TWMGETMINMAXINFO);
                  message wm_getminmaxinfo;
      published
        property maxheight : word read mh write mh;
        property maxwidth  : word read mw write mw;
        property maxleft   : word read ml write ml;
        property maxtop    : word read mt write mt;
        constructor create(AOwner : TComponent); override;
      end;implementationprocedure TMaxForm.mymax(var m : TWMGETMINMAXINFO);
    begin
      m.minmaxinfo^.ptmaxsize.x := fmw;
      m.minmaxinfo^.ptmaxsize.y := fmh;
      m.minmaxinfo^.ptmaxposition.x := fml;
      m.minmaxinfo^.ptmaxposition.y := fmt;
    end;constructor TMaxForm.create(Aowner : TComponent);
    begin
      fmw := screen.width;
      fmh := screen.height;
      fmt := 0;
      fml := 0;
      inherited create(aowner);
    end;end.
      

  4.   

    首先把子窗窗体的WindowState设置为wsMaximized
    然后
    做2个菜单
    一个是调用mdi子窗体
    一个是让子窗体最大化
    分别加入下列方法
    procedure TForm1.mdi1Click(Sender: TObject);
    begin
      form2:=Tform2.Create(Application);
      form2.Show;
    end;procedure TForm1.N1Click(Sender: TObject);
    begin
      form2.WindowState:=wsMaximized;
      form2.BringToFront;
    end;
      

  5.   

    Form1.WindowState := wsMaximized;
      

  6.   

    窗体名.WindowState := wsMaximized;
    来晚了
      

  7.   

    form2.WindowState := wsMaximized;
      

  8.   

    嘿﹐與想象中的一樣﹐以為我打了那么多字就不會出現象 form2.WindowState := wsMaximized;
    一樣的答案了﹐哪知道....
    to :  fyje(云中仙):你的方法我還沒有試﹐可以嗎﹖
      

  9.   

    to : nyf1220(sxufe.edu.cn) 你自已再試試﹐我這里是不行的﹐請注意是要把子窗口最小化后再單擊一菜單使它能最大化
      

  10.   

    是啊,我就是那么做的,
    把子窗口最小话后,
    在你的菜单的click事件里加上下面的语句
    procedure TForm1.N1Click(Sender: TObject);
    begin
      form2.WindowState:=wsMaximized;
      form2.BringToFront;
    end;
    就可以了,
    测试通过
      

  11.   

    to: nyf1220(sxufe.edu.cn) ( ) 信誉:100  2003-08-29 13:59:00  得分:0 
     
     
      是啊,我就是那么做的,
    把子窗口最小话后,
    在你的菜单的click事件里加上下面的语句
    procedure TForm1.N1Click(Sender: TObject);
    begin
      form2.WindowState:=wsMaximized;
      form2.BringToFront;
    end;
    就可以了,
    测试通过
      
    -----------------------------------------------------------------
     它在我這里怎么就會報錯呢
      

  12.   

    这个好像没有什么讨论的必要把
    最大化,form2.WindowState:=wsMaximized;最小化,判断一下该窗口是不是主窗口, 是主窗口就调用Application的最小化方法,否则就是就让窗口的状态最小化
       
      

  13.   

    up
    窗体名.WindowState:=wsMaximized
    或点一下最大化按钮
      

  14.   

    我自己知道了showwindow(frmMain.ActiveMDIChild.Handle, SW_MAXIMIZE);