如何屏蔽最大化,最小化
我的想法是:1。窗体一直是最大化,不能最小化到任务栏。
2。窗体不能拖动
我的处理方式:
我把BorderIcons的biMinimize和biMaximize设置为false,然后初始化窗体最大化,可当我双击窗体的标题栏,窗体大小依然可改变。
然后我把窗体设置为dialog模式,可上面的菜单不可用,且我在任务栏上右击已然可最小化。
我处理消息WM_GETMINMAXINFO可以控制窗体大小,但是依然在任务栏上右击可最小化。
会的大虾帮我看看,谢谢了~!
[解决办法]
窗体大小不能改变,属性BorderStyle:bsSingle
窗体最大化,属性WindowState:wsMaximized
[解决办法]
把BorderIcons的biMinimize和biMaximize设置为false ;
onshow或oncreate里 form.WindowState:=wsMaximized;
form align 属性 alClient;
最后,你的程序在任务上右击都不要最小化,那就是任务拦都没什么意义了,要关闭?.
那么 Setwindowlong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
[解决办法]
有吗, 都是alcient了,就算小也恢复了啊
[解决办法]
捕捉消息自己处理就可以了
procedure WMPosChange(var Message: TWMWINDOWPOSCHANGING);message WM_WINDOWPOSCHANGING;
procedure TMainForm.WMPosChange(var Message: TWMWINDOWPOSCHANGING);
begin
PWindowPos(TMessage(Message).lParam).Flags :=PWindowPos(TMessage(Message).lParam).Flags or SWP_NOMOVE or SWP_NOSIZE;
end;
[解决办法]
窗体刚开始就设置为最大化
把BorderIcons的biMinimize和biMaximize设置为false ;
onshow或oncreate里 form.WindowState:=wsMaximized;
form align 属性 alClient;
[解决办法]
捕捉消息,屏蔽掉就可以了。参见楼上。
[解决办法]
procedure WMPosChange(var Message: TWMWINDOWPOSCHANGING);message WM_WINDOWPOSCHANGING;
procedure TMainForm.WMPosChange(var Message: TWMWINDOWPOSCHANGING);
begin
PWindowPos(TMessage(Message).lParam).Flags :=PWindowPos(TMessage(Message).lParam).Flags or SWP_NOMOVE or SWP_NOSIZE;
end;
-----------------------
這樣不行嗎?
[解决办法]
ding
[解决办法]
设置FORM三个属性即可
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Align:=alClient;
form1.WindowState:=wsMaximized;
form1.BorderStyle:=bsDialog;
end;
[解决办法]
如果想看到菜单就这样
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Align:=alClient;
form1.WindowState:=wsMaximized;
form1.BorderStyle:=bsSizeable;
form1.BorderIcons:=[biSystemMenu];
end;