zoukankan      html  css  js  c++  java
  • 消息分发

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
      TMsgRecord = record
        MsgID1: Integer;
        MsgID2: Integer;
        MsgName: string[15];
        MsgDesc: string[27];
      end;
    
      TMsgHandleClass = class
      private
        procedure SM_Message1(var MsgRec: TMsgRecord); message 2000;
        procedure SM_Message2(var MsgRec: TMsgRecord); message 2001;
        procedure SM_Message3(var MsgRec: TMsgRecord); message 2002;
      public
        procedure DefaultHandler(var Message); override;
      end;
    
    
    var
      Form1: TForm1;
      MsgObject: TMsgHandleClass;
    
    implementation
    
    {$R *.dfm}
    
    { TMsgHandleClass }
    
    procedure TMsgHandleClass.DefaultHandler(var Message);
    begin
      inherited;
      ShowMessage('DefaultHandler: ');
    end;
    
    procedure TMsgHandleClass.SM_Message1(var MsgRec: TMsgRecord);
    begin
      ShowMessage('2000');
    end;
    
    procedure TMsgHandleClass.SM_Message2(var MsgRec: TMsgRecord);
    begin
      ShowMessage('2001');
    end;
    
    procedure TMsgHandleClass.SM_Message3(var MsgRec: TMsgRecord);
    begin
      ShowMessage('2002');
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyMsg: TMsgRecord;
    begin
      FillChar(MyMsg, SizeOf(TMsgRecord), 0);
      MyMsg.MsgID1 := 2001;
      MyMsg.MsgID2 := 2000;
      MyMsg.MsgName := '2000消息';
      MyMsg.MsgDesc := '这是消息号为2000的消息';
      MsgObject.Dispatch(MyMsg);
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      MsgObject := TMsgHandleClass.Create;
    end;
    
    procedure TForm1.FormDestroy(Sender: TObject);
    begin
      MsgObject.Free;
      MsgObject := nil;
    end;
    
    end.
    

      

  • 相关阅读:
    webpack to package typescript & scss
    start use webpack
    use selenium+chromedriver to taobao automatically
    Use Hexo to Build My Gitee Blog
    Promise调用方式
    导航守卫用法
    VueCli路由配置
    webpack安装vue-loader
    webpack用npm进行局部安装
    JavaScript里的语句用分号结尾是个选项吗
  • 原文地址:https://www.cnblogs.com/devinblog/p/5523322.html
Copyright © 2011-2022 走看看