MFC实现当鼠标移动到button按钮上时是显示一张图片,移开显示另外一张,点击是显示另外一张

本文介绍了如何在MFC应用程序中利用CButton类的鼠标事件,实现在鼠标悬停时显示特定图片,鼠标离开时显示另一张图片,以及点击按钮时显示第三张图片的效果。通过重载OnMouseHover和OnMouseLeave等方法,结合位图资源,实现了按钮状态的动态更新。
摘要由CSDN通过智能技术生成

 

编程中,经常要用到按钮控件,大部分情况下,文字按钮就OK了,但有时为了更好的效果,需要用到图形按钮。
在MFC中,应用CBitmapButton就可以实现图形按钮。CBitmapButton类继承自CButton类。你可以为图形按钮指定四张图片,分别对应按钮的四种不同状态:
正常显示(Up),鼠标按下(Down),获得焦点(Focused),不可用(Disabled)。
正常显示(Up)状态的图片是必须的,其他三张图片是可选的。
还有,按钮的Style必须指定为BS_OWNERDRAW.。
以下是利用CBitmapButton实现图形按钮的实例:
第一种方法:
(一)在VC6下新建一对话框工程,在对话框界面上拉出一按钮控件
指定按钮的Style为Owner Draw,即程式中得BS_OWNERDRAW样式。
 
利用ClassWizard为按钮关联CButton类变量,然后将CButton类型手动改为CBitmapButton。
(二)导入指定按钮四种状态的图片
以下只导入了3张图片,分别对应Up,Down,Focused
 
(三)在对话框的OnInitDialog函数中添加如下代码
LoadBitmaps加载状态图片,注意顺序为Up,Down,Focused,Disabled。
1 // TODO: Add extra initialization here  
2 m_btnBitmap.LoadBitmaps(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值