自定义消息处理的步骤

unit Unit1;

interface

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

type
  //定义自己的消息
  TMyMsg = record
    FmsgID: Integer;         //前4个字节必须是消息号
    FmsgStr: string;
  end;

  TForm1 = class(TForm)
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
    FMyMsg: TMyMsg;
    procedure HandleMsg2001(var Amsg: TMyMsg); message WM_USER + 1 ;   //定义消息的处理函数
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
  FMyMsg.FmsgID := WM_USER + 1;          //消息号
  FMyMsg.FmsgStr := 'WM_USER + 1';       //消息的参数
  Self.Dispatch(FMyMsg);                 //向对象发送消息
end;

procedure TForm1.HandleMsg2001(var Amsg: TMyMsg);
begin
  ShowMessage(Amsg.FmsgStr);
end;                                    //消息的处理

/// <remarks>
/// 自定义消息的步骤
///  1;定义消息结构体
///  2:定义类消息处理函数
///  3:发送消息给该类的对象
/// </remarks>

end.

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值