• 最大化最小化自定义窗口的尺寸


     

    unit uBaseForm;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;

    type
      TPoint = record
        x: Integer;
        y: Integer;
      end;

      TMinMaxInfo = record
        ptReserved: TPoint;
        ptMaxSize: TPoint;
        ptMaxPosition: TPoint;
        ptMinTrackSize: TPoint;
        ptMaxTrackSize: TPoint;
      end;

      TWMGetMinMaxInfo = record
        Msg: Cardinal;
        Unused: Integer;
        MinMaxInfo: PMinMaxInfo;
        Result: Longint;
      end;

      TBaseForm = class(TForm)
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
        procedure WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo ); message WM_GETMINMAXINFO;
      end;

    var
      BaseForm: TBaseForm;

    implementation

    {$R *.dfm}

    procedure TBaseForm.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action := caFree;           
    end;

    procedure TBaseForm.WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo);
    begin
      with Message.MinMaxInfo^ do
      begin
        //ptMaxSize.X := Screen.Width; {Width when maximized}
        //ptMaxSize.Y := 200; {Height when maximized}
        ptMaxPosition.X := 0; {Left position when maximized}
        ptMaxPosition.Y := Application.MainForm.Height; {Top position when maximized}
        //ptMinTrackSize.X := 100; {Minimum width}
        //ptMinTrackSize.Y := 100; {Minimum height}
        ptMaxTrackSize.X := Screen.Width; {Maximum width}
        ptMaxTrackSize.Y := screen.Height - Application.MainForm.Height -25; {Maximum height}
      end;
      Message.Result := 0; {Tell windows you have changed minmaxinfo}
      inherited;
    end;

    end.

  • 相关阅读:
    git 更改项目名称
    C语言 函数和程序结构 宏替换#define
    git commit
    git patch
    CortexM3/4 一些调试技巧
    PendSV和SYSTICK
    TencentOS tiny 中断嵌套
    smp raw_spinlock_t
    20212022年寒假学习进度15
    20212022年寒假学习进度22
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2940580.html
Copyright © 2020-2023  润新知