MFC编写漂亮的按钮,详细操作

       快一年多没有写过MFC了,不过好多都还熟悉,今天一个好友问我mfc 的按钮如何写的好看点,今天写下来,给刚学习mfc的同学带来一个简单的例子,希望你能收获一点知识。

       下面我们来上图吧:

 MFC不像QT写的那么简单,本调用了别人重写的button类,类文件在下面链接:

链接:文件  提取码:y259 

首先把文件中的4个文件放入到你刚创建的MFC的工程中:

 

上面是两个button按钮,尽量宽一点,对应的属性为:

加载图片到(图片在文件的包里):

在你对应的界面的头文件下添加:

#include "BtnST.h"

在对应的类里面添加:

class CbuttonTestADlg : public CDialogEx
{
// 构造
public:
	CbuttonTestADlg(CWnd* pParent = NULL);	// 标准构造函数

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_BUTTONTESTA_DIALOG };
#endif

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	CButtonST m_test;
	CButtonST m_tes;
};

对应的cpp文件中找到OnInitDialog() 函数中:

    m_test.SubclassDlgItem(IDC_BTN_1, this);
	m_test.SetIcon(IDI_ICON1);
	m_test.SetColor(CButtonST::BTNST_COLOR_BK_OUT, RGB(62, 62, 66));
	m_test.DrawBorder(FALSE, FALSE);
	m_test.DrawTransparent(TRUE);


	m_tes.SubclassDlgItem(IDC_BTN_2, this);
	m_tes.SetIcon(IDI_ICON2);
	m_tes.SetColor(CButtonST::BTNST_COLOR_BK_OUT, RGB(62, 62, 66));
	m_tes.DrawBorder(FALSE, FALSE);
	m_tes.DrawTransparent(TRUE);

 点击运行,可能会出现下面错误:

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    C4996    'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.  

解决方案:点击查看

运行便可以写好按钮了,是不是非常的简单呢!

本程序例子使用是vs2015, 链接在下面,喜欢的可以一起学习。关注我,会有很多干货等着你。

链接:工程下载   提取码:6k5a

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值