• 插件之基类窗体


    基类窗体要实现的需求包括:控件窗体的字体,权限控制,控制子窗体的显示范围,以及其它一些通用方法的声明。。。。。。

    通用方法可声明为VIRTUAL方法,以允许从它继承的子窗体

    可以OVERRIDE这些方法,达到多态的效果。

    unit uBaseForm;

    interface

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

    type
      TBaseForm = class(TForm)
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
        FRights: string;
        procedure WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo ); message WM_GETMINMAXINFO;//控制子窗体的显示范围
      public
        property Rights: string read FRights write FRights;//权限控制
      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
        ptMaxPosition.X := Screen.WorkAreaLeft; {Left position when maximized}
        ptMaxPosition.Y := Application.MainForm.Height; {Top position when maximized}
        ptMaxTrackSize.X := Screen.Width; {Maximum width}
        ptMaxTrackSize.Y := screen.WorkAreaHeight - Application.MainForm.Height; {Maximum height}
      end;
      Message.Result := 0; {Tell windows you have changed minmaxinfo}
      inherited;
    end;

    end.

  • 相关阅读:
    LOJ #6008. 「网络流 24 题」餐巾计划
    P2144 [FJOI2007]轮状病毒
    随记
    1010: [HNOI2008]玩具装箱toy(斜率优化)
    HDU 3507 Print Article(斜率优化)
    4819: [Sdoi2017]新生舞会(分数规划)
    POJ 2976 Dropping tests(01分数规划)
    spoj 104 Highways(Matrix-tree定理)
    dp专练
    4152: [AMPPZ2014]The Captain
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2358381.html
Copyright © 2020-2023  润新知