关闭

VC 位图按钮CBitmapButton的使用

标签: buttonmfcwindows化工nullc
42520人阅读 评论(25) 收藏 举报
分类:

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1
本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果

      在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不多,网上很多Button类的派生类蛮实用的,但是若是简单的位图按钮用自带的CBitmapButton就可以实现了,以下是效果图:

步骤一:新建基于对话框工程,放置一个按钮,可以适当调整大小,设置其Owner Draw属性为TRUE,右键为按钮添加变量,改变其变量类型为CBitmapButton,按确定完成;

步骤二:导入按钮位图,这里四幅图大小要一致,以下是四种状体的按钮,若读者要实验这次的设计的话,可以右键另存为,然后用“画图”把png格式的另存为bmp格式的。在资源视图,右键“添加资源”,“导入”以下图片:

步骤三:初始化工作,在对话框的OnInitDialog()函数里面添加以下代码:

步骤四:为控制位图按钮的可用、不可用添加代码,这是为了验证第四种状态的按钮:

步骤五:到这里已经完成了位图按钮的实现,编译运行可以看到结果。但是鼠标滑过的时候,按钮并不会感应到焦点的存在。这里用定时器捕获焦点在按钮上,并且改变此时的按钮状体为第三种图片。首先为窗体添加OnTimer()事件,在OnTimer()函数里面填写如下代码:

最后在对话框的OnInitDialog()函数里面添加开启定时器,时间间隔200ms足够了。

完成后,运行就可实现与文章开头所示的图片一样的效果。


2012年5月7日 《对CBitmapButton的扩展

2
0
查看评论

CBitmapButton位图按钮控件演示(两种方法+相应单击消息)(VC6)

  • 2010-08-02 13:09
  • 151KB
  • 下载

一分钟学会使用CBitmapButton

CBitmapButton是一个MFC内置的按钮类,提供图片按钮的功能,并且支持在不同状态下显示不同图片。由于使用方法比较简单,比CButton更美观,比其它的第三方Button类更简洁,因此博鸽的下一版本将要使用它。博鸽网的地址是:http://www.blogdove.comCBitmapBut...
  • colinchan
  • colinchan
  • 2007-07-11 16:40
  • 6589

VC 位图按钮CBitmapButton的使用

系统环境:Windows 7 软件环境:Visual C++ 2008 SP1 本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果       在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不多,...
  • akof1314
  • akof1314
  • 2009-12-06 16:39
  • 42520

VC 位图按钮CBitmapButton的使用

系统环境:Windows 7 软件环境:Visual C++ 2008 SP1 本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果       在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不...
  • qq_23992597
  • qq_23992597
  • 2016-06-21 15:11
  • 1248

图标按钮、位图按钮、CBitmapButton 类位图按钮的制作

★ 5--2--1 图标按钮图标按钮可谓是按钮控件使用图像最简单的方式,除此之外图标按钮的优点还在于显示在按钮上的图标能够使用透明色,因而不必再去为处理非矩形图像在按钮颜色发生变化时边缘颜色的处理而费心。不过也正是使用图标导致了图标按钮的天生弱点。图标太小了,仅仅才 32×32 像素大小,...
  • ljinddlj
  • ljinddlj
  • 2007-06-27 17:55
  • 4103

对CBitmapButton的扩展

很久以前的一篇文章《VC 位图按钮CBitmapButton的使用》,里面用定时器对位图按钮进行移进移出的效果进行显示,不大好。在这里用鼠标事件进行捕获显示,另加一个函数LoadListBitmap实现对连续的资源图片进行截取。 代码如下: 01 02 03 04 ...
  • akof1314
  • akof1314
  • 2012-05-07 16:34
  • 8269

MFC 位图按钮CBitmapButton 实现不同状态显示不同位图

MFC 位图按钮CBitmapButton 实现不同状态显示不同位图   步骤如下: 1.  在对话框上拖放一个按钮(CButton)控件,设置ID(如:IDC_BUTTON5); 2.  在对话框类添加成员变量(CBitmapButton类对象):    CBitma...
  • lsk1124981644
  • lsk1124981644
  • 2015-02-13 09:45
  • 706

MFC CBitmapButton使用

<br />看了几种带皮肤按钮的实现方案,比如自绘按钮http://blog.csdn.net/JamesXing/archive/2008/01/10/2033891.aspx,使用wince GWES的API http://blog.csdn.net/JamesXing/archiv...
  • iceiilin
  • iceiilin
  • 2011-04-11 17:22
  • 5900

MFC CBitmapButton类的应用

最近遇到了给按钮设置样式的问题。我们都知道在我们用过的程序中,按钮是个很神奇的东西。有的按钮表面是这种样式,鼠标指上去就换一种样式,点下去是一种样式,点过后又是一种样式。 其实,用CBitmapButton类完全可以实现。 现在我们要实现一个效果,就是按钮显示,按钮按下时(鼠标别松),鼠标指向按...
  • qq_33335872
  • qq_33335872
  • 2016-11-25 11:02
  • 225

MFC 为按钮加载位图 CBitmapButton

系统环境:Windows 7 软件环境:Visual C++ 2008 SP1 本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果       在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不...
  • u013050589
  • u013050589
  • 2014-05-29 09:35
  • 1878
    个人资料
    • 访问:3554029次
    • 积分:36068
    • 等级:
    • 排名:第137名
    • 原创:402篇
    • 转载:88篇
    • 译文:5篇
    • 评论:3425条
    个人说明
    联系方式:
    文章存档
    最新评论