如何响应所有消息?(50分)

  • 主题发起人 主题发起人 snappy
  • 开始时间 开始时间
S

snappy

Unregistered / Unconfirmed
GUEST, unregistred user!
上一期我学会了响应指定消息,
但我现在又想响应所有系统消息,然后在程序中判断是否是
我想要的消息再进行相应处理。
我该如果做??
 
SetWindowsHookEx
 
winproc事件
 
是再你自己的程序中吗?
如果是的话,重载
WndProc

TForm1 = class(TForm) public
{ Public declarations }
procedure WndProc(var Mess: TMessage); override;
end;
 
真不知道相应指定消息和所有消息的异同。delphi模板替你判断,有什么不好的
 
频繁响应的消息最好不这样用
声明:
procedure wndproc(var message:Tmessage);override;
过程:
procedure wndproc(var message:tmessage);
begin
if message.msg=wm_mousemove then
begin
cursor:=crarrow;
{ 设 置 光 标 为crarrow而 不 是 缺 省 的crBeam 光 标}
exit;
end;
if message.msg=wm_SetFocus then exit;
{屏蔽掉WM_setfocus消息不让Tmyedit控件获得输入焦点}
inherited wndproc(message);
{其他消息交父辈wndproc处理}
end;
 
多人接受答案了。
 
后退
顶部