你可以在控件的mousemove事件里面用代码编写bitbtn的glyphi属性。

解决方案 »

  1.   

    1,在bitbtn的ONMOVE事件中改变图片
    2,有bitbtn外的ONMOVE事件中改变图片
    3,做好控制,不必要每次ONMOVE都改变
      

  2.   

    如果要用OnMouseMove,补充sandyen(杉叶):
    因为这样最多能捕捉到进来,并不能捕捉到出去,所以需要弄一些技巧。比如,设置一个计数器,平时是关的,当有OnMouseMove发生时,则激活它,且改变图标。定时注意鼠标的位置,如果发现鼠标已经出去了,就改回图标,并禁止它。当然,得处理鼠标按下的情况,因为在该情况下,即使鼠标已经跑出了按钮之外,但还是会有OnMouseMove发生的,可以用GetCaptureControl函数来判断是否处理捕捉状态。可能有一大批按钮都需要这样写,估计在Form中写代码够复杂够累的,因为需要记住是哪个按钮。所以不妨从TBitBtn派生一个新的控件,在控件中处理。不过,既然要写控件了,就有了比较简单的做法了。Application会随时观察鼠标进出哪个控件,从而向该控件发CM_MOUSEENTER和CM_MOUSELEAVE消息。而Windows现在也已经有WM_MOUSEENTER和WM_MOUSELEAVE消息,随便用哪个消息都行。不过如果用后者,建议你好好看一下WIN32 API的帮助,包括MSDN Library。__________________________________________________________________________
    http://i58.boy.net.cn/ (抱歉,未建好)
    欢迎加入“Delphi的天空”互助邮件讨论组,我们的宗旨是:互相帮助,共同进步 
    mailto:[email protected]
    http://cn.groups.yahoo.com/group/delphi_sky/
    或: http://agui.delphibbs.com/
    紫光拼音输入法交流邮件组
    mailto:[email protected] 
    http://cn.groups.yahoo.com/group/unispim/