你可以在控件的mousemove事件里面用代码编写bitbtn的glyphi属性。
解决方案 »
- 如何使用threadvar定义线程专用变量?
- 字节组合成字
- ADO数据库动态连接 谢谢
- Timer能否用来测量时间?
- 我的数据库程序在运行过程中为什么数据库表中会随机的出现乱码?而且出现的乱码都是他前一个或者后一个记录的其他字段的值。请问怎么回事
- dbf数据表如何打开,解决给100分
- 关于换行的问题。memo中的字符串,我怎么可以检测并去掉换行的标志。
- 有一个问题,就是我不知道,File not found:"DsgnIntf.dcu"
- 我的论坛开张了,长期为初学者供应delphi源码和咨询。现在只上传了近三十个源码包,以后会增加。
- Creport V4 打印设置问题
- 请教用Ado对SQL Server的数据库进行备份和恢复的问题
- 如何用Delphi操作Excel2000 高分相送!急急急!!!
2,有bitbtn外的ONMOVE事件中改变图片
3,做好控制,不必要每次ONMOVE都改变
因为这样最多能捕捉到进来,并不能捕捉到出去,所以需要弄一些技巧。比如,设置一个计数器,平时是关的,当有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/