PB中除窗口(window)和富文本(richtextedit)具有mousemove事件外,其他控件都不接收ousemove事件。在某些程序中,可能会对按钮进行动态的图片切换,如:鼠标移到按钮上时,切换按钮的图片以实现动感。
PB中除窗口(window)和富文本(richtextedit)具有mousemove事件外,其他控件都不接收ousemove事件。在某些程序中,可能会对按钮进行动态的图片切换,如:鼠标移到按钮上时,切换按钮的图片以实现动感。
创建一个用户自定义对象(User Object),取名uo_picbutton,其上放一个Picture控件(p_1)。选中p_1,定义用户自定义事件(user events),在event name中输入mousemove, 由下面的Paste Event ID中选取pbm_mousemove放入Event ID栏。自此,p_1的事件栏中增加了事件mousemove,在其中编程:
p_1.picturename="c:\图片_over.bmp" //鼠标移动到p_1上时要显示的图片
关闭user object,新建一个窗口,添加刚才建成的user object(uo_1).在form的open事件中编程:
uo_1.p_1.picturename="c:\图片_up.bmp" //初始图片
在form的mousemove事件中编码:
uo_1.p_1.picturename="c:\图片_up.bmp" //恢复原来的图片
这样,运行时一旦鼠标移动到该控件上就会变换图片,从而产生动态效果。只要在uo_picbutton的mousemove事件中增加两三句代码,可以使其成为通用的图片按钮;添加user event事件,并拷贝下面列出的事件ID(event id),可以生成更多的原本不能接收的事件。
查看本文来源