MFC按钮美化

来源:互联网 发布:imap服务器端口 编辑:程序博客网 时间:2024/05/17 08:57

首先你需要下面的四个文件
// 1-BCMenu.h
// 2-BCMenu.cpp
// 3-BtnST.h
// 4-BtnST.cpp
这四个文件你可以到这个地方下载,当然啦,只需要一点积分
地址:http://download.csdn.net/download/csdn_dzh/10140976

好的,下面你可以开始利用VS2013建立一个MFC程序了

1、首先复制上面四个文件到工程下,VS中选项目,添加现有项,选择这四个

2、将#include “BtnST.h” 加入到stdafx.h中,放置的位置是底下这句话的后面

#include <afxcmn.h> // MFC 对 Windows 公共控件的支持

3、假设你出现了下面的问题

bcmenu.cpp(75): error C4996: 'GetVersion': 被声明为已否决c:\program files\windows kits\8.1\include\um\sysinfoapi.h(110): 参见“GetVersion”的声明

那么要将项目-》属性-》c/c++-》常规-》SDL检查由是改变为否,然后error变成了warning。为了略去warning,在#include “BtnST.h” 下面加上一行代码:

#pragmawarning(disable: 4996)。

4、接着就可以按照这个地址的骚操作进行编辑了,这个博客里有很多骚操作,你按你需要设置吧
http://blog.csdn.net/xuanyuanlei1020/article/details/52571562?locationNum=2&fps=1

我比较常用的是这样的:
假设有一个ID为IDC_BUTTON1
那么,
1)先在你的工程Dlg.h的public中声明CButtonST m_btn;

2)添加icon资源,我这里有一堆32x32的icon图标,需要的话你可以下载,里面有很多icon图标的,你可以用来搞
http://download.csdn.net/download/csdn_dzh/10140998
找到你喜欢的icon添加进去,设置其id为IDI_ICON1

3)在OnInitDialog函数中初始化按钮

m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); //m_btn.SetFlat(FALSE); //若你想显示平面按钮就不要这句了//m_btnload.SetAlign(CButtonST::ST_ALIGN_VERT);  //在按钮下方显示文字

更特殊的,你想改文字的在图标上所处的位置,那么就修改参数

ST_ALIGN_HORIZ       // 文字在右ST_ALIGN_VERT         //文字在下ST_ALIGN_HORIZ_RIGHT// 文字在左

然后你就根据Icon的大小调整按钮的大小。 得到下面的效果
这里写图片描述

怎么样,长得还可以吧?