zoukankan      html  css  js  c++  java
  • 插件之基类窗体

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

    通用方法可声明为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.

  • 相关阅读:
    linux 安装mysql及配置
    django restframework的应用
    python uuid的连接及简单应用
    Flink开发-Flink的计算模型和接口
    数据仓库-基本框架和内容
    数据仓库-需求沟通和开发示例
    Spark开发-开发总览
    Hive 高阶应用开发示例(二)
    Hive 高阶应用开发示例(一)
    Spark开发-关联分析
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2358381.html
Copyright © 2011-2022 走看看