首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 限制表單最大化尺寸與位置 (WM_GETMINMAXINFO)

     編輯:Delphi

效果

表單最大化時不佔滿全螢幕,而是限制在指定寬高與座標 (類似 Delphi IDE 主視窗行為)。

實作

  1. 私有區宣告訊息處理:procedure WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;
  2. 實作中設定 Msg.MinMaxInfo^ 的 ptMaxSize (最大尺寸) 與 ptMaxPosition (最大化左上角)。

完整程式碼


type
  TForm1 = class(TForm)
  private
    procedure WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;
  end;

procedure TForm1.WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo);
begin
  with Msg.MinMaxInfo^ do
  begin
    ptMaxSize.X := 800;   // 最大化寬度
    ptMaxSize.Y := 600;   // 最大化高度
    ptMaxPosition.X := 100; // 最大化左上角 X
    ptMaxPosition.Y := 50;  // 最大化左上角 Y
  end;
  Msg.Result := 0;
  inherited;
end;

補充

  • 同樣可在 ptMinTrackSize 限制使用者拖曳的最小尺寸。
  • 若需運行時動態調整,可在該處理程序中依條件賦值。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved