【MFC】vs2013_MFC使用文件之15.mfc 按钮CBitmapButton的使用

本文是基于对话框的html

博文基于 无幻 的博文为基础写的 http://blog.csdn.net/akof1314/article/details/4951836c++

笔者使用mfc撑死2个星期,不过这是有c++基础的前提下接触mfc,昨天看到了网上对qt creator的评论,感受好高大上,回去试了一下后发现,qt须要mfc的基础,如果直接接触qt的话会比较难,毕竟mfc是在vs的平台下,你们学起来会比较顺手。函数

回到正题,今天研究了下怎么使用mfc中的位图按键,发现实现方法挺多,可是对于小白来讲,不少做者认为简单的都会略过,恰巧那些简单的就是我不会的,结果又看不懂。除了mfc自有的CBitmapButton外,在网上还看到有关于CButtonST的使用,应该是会比CBitmapButton简单,笔者看的是CBitmapButton,那这里就不讲CButtonST。this

两位csdn博主对CButtonST使用的连接:.net

DoubleLi:  http://www.cnblogs.com/lidabo/archive/2012/12/17/2821122.html设计

wqvbjhc:  http://blog.csdn.net/wqvbjhc/article/details/125806693d

 

首先 会用到如下CBitmapButton类的函数htm

LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUS,IDB_DISABLE);blog

//载入图片 IDB_UP, IDB_DOWN, IDB_FOCUS,IDB_DISABLE 这四个均为bitmapID图片

BOOL LoadBitmaps( 
   LPCTSTR lpszBitmapResource, 
   LPCTSTR lpszBitmapResourceSel = NULL, 
   LPCTSTR lpszBitmapResourceFocus = NULL, 
   LPCTSTR lpszBitmapResourceDisabled = NULL  
); 
bitmap的载入

回到资源视图就能够看到  资源视图打开的方法:视图-》其余窗口-》资源视图

 

SubclassDlgItem(按钮ID, this);//关联按钮

SizeToContent();//让按钮随图片大小变化

GetDlgItem(按钮ID)->EnableWindow(FALSE);//开启按钮的禁止状态

 

如今开始作

1.在对话框出拖入一个按钮,,其ID为IDC_BUTTON1

2.设置按钮属性中的Owner Draw为TRUE 

3.在::OnInitDialog();前添加   CBitmapButton m_btnX1;//必须放在函数外面才能正常实现  

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

5.初始化工做,在对话框的OnInitDialog()函数里面添加如下代码:

m_btnX1.LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUS,IDB_DISABLE);//
// 也能够只加一个ID资源;
m_btnX1.SubclassDlgItem(IDC_BUTTON_TEST2, this);
m_btnX1.SizeToContent();

到这里已经完成了位图按钮的实现,编译运行能够看到结果。

其实这个时候你能看到后三幅图的的效果,为什disable的看不到,是由于这个禁止的状态你没有打开,打开须要

GetDlgItem(按钮ID)->EnableWindow(FALSE);  //为false是是开启禁止状态,为true时则是关闭状态

这时候四个图标你都能看到了。

若是你想作鼠标移动到按钮上,按钮会变其余图案的效果,请看 无幻 http://blog.csdn.net/akof1314/article/details/4951836/;

 

本文用到的资料:  只想说一句 csdn太强大了。

http://blog.csdn.net/leixiaohua1020/article/details/12753967 http://blog.csdn.net/akof1314/article/details/4951836/ http://bbs.csdn.net/topics/100184465 https://msdn.microsoft.com/en-us/library/6y6acs49(v=vs.120).aspx

相关文章
相关标签/搜索