迪士尼乐园攻略 上海:通过 Application.OnMessage 响应消息

来源:百度文库 编辑:九乡新闻网 时间:2024/05/05 02:50:38
通过 Application.OnMessage 响应消息:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Memo1: TMemo;procedure FormCreate(Sender: TObject);{这个自定义过程要复合 Application.OnMessage 的参数格式}procedure MyMessage(var Msg: tagMSG; var Handled: Boolean);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);beginMemo1.Clear;Application.OnMessage := MyMessage; {让 Application.OnMessage 执行自定义过程}end;{响应 WM_MOUSEMOVE 以外的所有消息}procedure TForm1.MyMessage(var Msg: tagMSG; var Handled: Boolean);beginif Msg.message <> WM_MOUSEMOVE thenMemo1.Lines.Add('$' + IntToHex(Msg.message, 4));end;end.

通过 TApplicationEvents 响应消息, 需要在设计时添加 TApplicationEvents 组件, 并给它添加 OnMessage 事件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, AppEvnts;typeTForm1 = class(TForm)Memo1: TMemo;ApplicationEvents1: TApplicationEvents;procedure FormCreate(Sender: TObject);procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);beginMemo1.Clear;end;{响应 WM_MOUSEMOVE 以外的所有消息}procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);beginif Msg.message <> WM_MOUSEMOVE thenMemo1.Lines.Add('$' + IntToHex(Msg.message, 4));end;end.