博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习 Message(4): 通过 Application.OnMessage 或 TApplicationEvents 响应消息
阅读量:7143 次
发布时间:2019-06-29

本文共 1517 字,大约阅读时间需要 5 分钟。

  hot3.png

通过 Application.OnMessage 响应消息:

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Memo1: TMemo;    procedure FormCreate(Sender: TObject);    {这个自定义过程要复合 Application.OnMessage 的参数格式}    procedure MyMessage(var Msg: tagMSG; var Handled: Boolean);  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  Memo1.Clear;  Application.OnMessage := MyMessage; {让 Application.OnMessage 执行自定义过程}end;{响应 WM_MOUSEMOVE 以外的所有消息}procedure TForm1.MyMessage(var Msg: tagMSG; var Handled: Boolean);begin  if Msg.message <> WM_MOUSEMOVE then    Memo1.Lines.Add('$' + IntToHex(Msg.message, 4));end;end.
通过 TApplicationEvents 响应消息, 需要在设计时添加 TApplicationEvents 组件, 并给它添加 OnMessage 事件:

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, AppEvnts;type  TForm1 = class(TForm)    Memo1: TMemo;    ApplicationEvents1: TApplicationEvents;    procedure FormCreate(Sender: TObject);    procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  Memo1.Clear;end;{响应 WM_MOUSEMOVE 以外的所有消息}procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;  var Handled: Boolean);begin  if Msg.message <> WM_MOUSEMOVE then    Memo1.Lines.Add('$' + IntToHex(Msg.message, 4));end;end.

转载于:https://my.oschina.net/hermer/blog/319486

你可能感兴趣的文章
UsingModelicaBuildingLibrary
查看>>
php_codesninffer phpcs用法学习使用:
查看>>
Python多线程threading进阶笔记
查看>>
使用 Kotlin 开发 Android 应用 | 8 个最优秀的 Android Studio 插件 Kotlin Android 素材...
查看>>
Java 面向对象 之 enum 枚举类型
查看>>
一张图看懂阿里云网络产品【十四】IPv6转换服务
查看>>
Android应用开发—Android 消息处理机制:Handler&amp;Message
查看>>
数字货币量化实践线上分享
查看>>
Android应用开发-onNewIntent()
查看>>
推进你的计算机网络事业:10个技巧
查看>>
Android APP 性能优化的一些思考
查看>>
HyperLedger Fabric交易流程(6.3)
查看>>
JavaScript MVC 学习笔记(四)类的使用(下)
查看>>
java写的Http服务器下载工具
查看>>
Java中不同包下类与类之间的访问
查看>>
Seafile 发布 SeafileDocs 1.2,面向研发团队的文档管理
查看>>
php开源项目大全
查看>>
[20180607]函数与标量子查询8.txt
查看>>
阿里云服务器亚太东南1、亚太东南2、亚太东南 3、 5是哪个城市
查看>>
谈一下我们是如何开展code review的
查看>>