怎么样固定Form的大小不被拉大或缩小且也不能拖动?

问答知识库用户 |浏览281次
收藏|2014/05/17 22:00
如题,怎么样锁定窗体的大小尺寸,并且禁止窗体拖动呢?

满意回答

2014/05/17 22:00

1、首先声明私有拦截消息的过程
// 禁止调整窗体大小
procedure WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;
// 禁止窗体移动
procedure WMSysCommand(var message: TWMSysCommand); message WM_SYSCOMMAND;

2、过程实现代码如下 :
procedure TForm1.WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); // 限制窗体大小消息
begin
  inherited;
  Msg.MinMaxInfo^.ptMinTrackSize := Point(192, 164); // 窗口最小宽度,窗口最小高度
  Msg.MinMaxInfo^.ptMaxTrackSize := Point(192, 164); // 窗口最大宽度,窗口最大高度
  Msg.MinMaxInfo^.ptMaxPosition := Point(200, 200); // 窗口最大化时,左上角的位置
end;

procedure TForm1.WMSysCommand(var message: TWMSysCommand);
begin
  with message do
  begin
    if (CmdType >= $F000) and (CmdType < $F013) then
      CmdType := 0
    else
      inherited;
  end;
end;

热心网友

其他回答(0)
0人关注该问题
待解决问题



+1
 加载中...