H heartwolf Unregistered / Unconfirmed GUEST, unregistred user! 2008-06-03 #1 看了很多关于消息拦截的方法,一直无法捕捉控件的获取和失去焦点的消息。<br>我要拦截这些消息的目的是,设置应用程序中的获取焦点控件的颜色或字体,失去焦点后则设置为正常的颜色或字体
B bahamut8348 Unregistered / Unconfirmed GUEST, unregistred user! 2008-06-03 #2 事件是,得到焦点OnEnter,失去焦点OnExit<br>消息是CM_ENTER和CM_EXIT<br>建议用事件吧,毕竟这俩事件就是直接处理了这俩消息的,既然已经封装好了,那么免的直接去处理消息
H heartwolf Unregistered / Unconfirmed GUEST, unregistred user! 2008-06-04 #3 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> mmo1.Lines.Add(ActiveControl.ClassName);<br>end;
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> mmo1.Lines.Add(ActiveControl.ClassName);<br>end;
L lngdtommy Unregistered / Unconfirmed GUEST, unregistred user! 2008-06-04 #4 可写在wndproc(var message: TMessage);override;中<br>TCom.wndproc(var message:TMessage);<br>begin<br> if message.msag = WM_SetFocus then<br> begin<br> //写相关事件<br> Exit;<br> end;<br> Inherited wndproc(message);<br>end;
可写在wndproc(var message: TMessage);override;中<br>TCom.wndproc(var message:TMessage);<br>begin<br> if message.msag = WM_SetFocus then<br> begin<br> //写相关事件<br> Exit;<br> end;<br> Inherited wndproc(message);<br>end;