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.

  • 相关阅读:
    MongoDB入门示例及介绍
    Oracle/PLSQL CURSOR FOR Loop
    JAVA写的文件分割与文件合并程序
    synchronized 解决死锁的问题 轉貼
    采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载
    chapter6作业
    chapter5作业
    chapter4作业
    Linuz系统管理 -----账号管理
    chapter02
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2358381.html
Copyright © 2011-2022 走看看