摘自:刘艺--《Delphi6企业级解决方案与应用剖析》
2009-8-23
delphi消息处理
消息的数据结构:
Tmessage = record
Msg: Word;
Case Integer of
0: (
Wparam: word;
LParam: Longint;
Result: Longint
);
1:
(
WParamLo: Byte;
WparamHi: Byte;
LParamLo: Word;
WparamHi: Word;
ResultLo: Word;
ResultHi: Word;
);
end;
delphi的单元Message定义了所有的Windows消息和Delphi消息
(1) MainWndProc: 定义在WinControl类中的一个静态方法,不能被重载;它不直接处理消息,而是交由WndProc方法处理;
(2) WndProc: 定义在TControl类中的一个虚拟方法,可以覆盖,自己处理截获的消息;它调用DisPatch方法来进行消息的分配;
(3) DisPatch: 定义在TObject根类中;如果Dispatch没有找到对应消息的处理,则会调用TObject根类的DefaultHandler方法;
(4) DefaultHandler: 只是实现简单的返回而不对消息进行任何的处理;