关于控件获取焦点和失去焦点消息的拦截(100分)

  • 主题发起人 主题发起人 heartwolf
  • 开始时间 开始时间
H

heartwolf

Unregistered / Unconfirmed
GUEST, unregistred user!
看了很多关于消息拦截的方法,一直无法捕捉控件的获取和失去焦点的消息。<br>我要拦截这些消息的目的是,设置应用程序中的获取焦点控件的颜色或字体,失去焦点后则设置为正常的颜色或字体
 
事件是,得到焦点OnEnter,失去焦点OnExit<br>消息是CM_ENTER和CM_EXIT<br>建议用事件吧,毕竟这俩事件就是直接处理了这俩消息的,既然已经封装好了,那么免的直接去处理消息
 
CM_ENTER和CM_EXIT我也捕捉不到啊,不知道是不是方法错了<br>procedure CMENTER(var Message: TCMENTER); message CM_ENTER;<br>..........<br>....<br>procedure TForm1.CMENTER(var Message: TCMENTER);<br>begin<br>&nbsp; mmo1.Lines.Add(ActiveControl.ClassName);<br>end;
 
可写在wndproc(var message: TMessage);override;中<br>TCom.wndproc(var message:TMessage);<br>begin<br>&nbsp; if message.msag = WM_SetFocus then<br>&nbsp; begin<br>&nbsp; &nbsp; //写相关事件<br>&nbsp; &nbsp; Exit;<br>&nbsp; end;<br>&nbsp; Inherited wndproc(message);<br>end;
 
拦截application的消息
 
后退
顶部