請問怎樣把窗口最大化(MDI)? 我知道怎么樣把子窗口一打開就最大化﹐比如我通過menu1菜單打開子窗口﹐這時子窗口是最大化的﹐但我把子窗口最小化后我怎么樣可以通過單擊menu1使它重新最大化. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 子窗口.WindowState := wsMaximized;————————————————————————————————————宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。———————————————————————————————————— 下面是别人做的一个程序,可以参考: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. 下面是别人做的一个程序,可以参考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. 首先把子窗窗体的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; Form1.WindowState := wsMaximized; 窗体名.WindowState := wsMaximized;来晚了 form2.WindowState := wsMaximized; 嘿﹐與想象中的一樣﹐以為我打了那么多字就不會出現象 form2.WindowState := wsMaximized;一樣的答案了﹐哪知道....to : fyje(云中仙):你的方法我還沒有試﹐可以嗎﹖ to : nyf1220(sxufe.edu.cn) 你自已再試試﹐我這里是不行的﹐請注意是要把子窗口最小化后再單擊一菜單使它能最大化 是啊,我就是那么做的,把子窗口最小话后,在你的菜单的click事件里加上下面的语句procedure TForm1.N1Click(Sender: TObject);begin form2.WindowState:=wsMaximized; form2.BringToFront;end;就可以了,测试通过 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;就可以了,测试通过 ----------------------------------------------------------------- 它在我這里怎么就會報錯呢 这个好像没有什么讨论的必要把最大化,form2.WindowState:=wsMaximized;最小化,判断一下该窗口是不是主窗口, 是主窗口就调用Application的最小化方法,否则就是就让窗口的状态最小化 up窗体名.WindowState:=wsMaximized或点一下最大化按钮 我自己知道了showwindow(frmMain.ActiveMDIChild.Handle, SW_MAXIMIZE); 关于指针,对象的问题,还是很不清楚,有谁能详细说明一下? 一个特殊的需求!!高手请进!! 求版主不要删——中国人必看(转载) 请问各位大侠,做生产排程要用什么控件啊,任何语言均可? 关系到Delphi的前途的问题,大家快来看看!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 其他单元怎样调用本单元定义的过程?在线等候 在query中的查询问题(like)查询! 有谁能给我说说delphi中的self到底是什么意思? 如何解决这个问题(菜鸟),急啊! 如何获得屏保和开机的密码? 谁知道北京哪里有好的日语培训学校? 用bde的数据库应用程序,如何防止运行时跳出登录对话框?
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
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.
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.
然后
做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;
来晚了
一樣的答案了﹐哪知道....
to : fyje(云中仙):你的方法我還沒有試﹐可以嗎﹖
把子窗口最小话后,
在你的菜单的click事件里加上下面的语句
procedure TForm1.N1Click(Sender: TObject);
begin
form2.WindowState:=wsMaximized;
form2.BringToFront;
end;
就可以了,
测试通过
是啊,我就是那么做的,
把子窗口最小话后,
在你的菜单的click事件里加上下面的语句
procedure TForm1.N1Click(Sender: TObject);
begin
form2.WindowState:=wsMaximized;
form2.BringToFront;
end;
就可以了,
测试通过
-----------------------------------------------------------------
它在我這里怎么就會報錯呢
最大化,form2.WindowState:=wsMaximized;最小化,判断一下该窗口是不是主窗口, 是主窗口就调用Application的最小化方法,否则就是就让窗口的状态最小化
窗体名.WindowState:=wsMaximized
或点一下最大化按钮