MFC3d立体按钮制作

1、本程序基于前期我的博客文章MFC用CButtonST类实现图片透明按钮(免费源码下载)

2、添加CeXDib.cpp CeXDib.h ShadeButtonST.cpp ShadeButtonST.h到项目文件夹下,和FileView中如图。

3、在ButtonShadeDlg.h中添加代码

cpp 复制代码
#include "ShadeButtonST.h"
#include "BtnST.h"


class CButtonShadeDlg : public CDialog
{
// Construction
public:
	CButtonShadeDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CButtonShadeDlg)
	enum { IDD = IDD_BUTTONSHADE_DIALOG };
	CButtonST   m_btnPrint;
	CShadeButtonST	m_btnCancel;
	CShadeButtonST	m_btnOK;
	//}}AFX_DATA
...
}

4、在ButtonShadeDlg.cpp中添加代码

cpp 复制代码
void CButtonShadeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CButtonShadeDlg)
DDX_Control(pDX, IDC_BUTTON1, m_btnPrint);
DDX_Control(pDX, IDCANCEL, m_btnCancel);
DDX_Control(pDX, IDOK, m_btnOK);
	//}}AFX_DATA_MAP
}


BOOL CButtonShadeDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
m_btnPrint.SetIcon(IDI_ICON_Print);    
m_btnPrint.SetAlign(CButtonST::ST_ALIGN_VERT);
	m_btnOK.SetShade(CShadeButtonST::SHS_HARDBUMP);
	m_btnCancel.SetShade(CShadeButtonST::SHS_HARDBUMP);
...
}

运行程序

相关推荐
会周易的程序员5 小时前
aiDgePLC — IEC61131-3 ST PLC 虚拟机调试与运行环境
c++·物联网·虚拟机·st·工业协议·iec61131·梯形图
wuminyu7 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
gumichef7 小时前
第二章:C/C++内存管理
c++·内存管理
小龙报10 小时前
【优选算法】1.搜索插入位置 2.x的平方根
java·c语言·数据结构·c++·python·算法·蓝桥杯
A_humble_scholar10 小时前
Linux(二) C++ TCP/UDP网络编程
linux·网络·c++
SNAKEpc1213812 小时前
OpenGL(十五)- 着色器语言GLSL
c语言·c++·线性代数·算法·矩阵·图形渲染·着色器
欧特克_Glodon12 小时前
OpenCV计算机视觉开发入门与实践<六>:OpenCV架构模块简介
c++·人工智能·opencv·计算机视觉
Rabitebla12 小时前
C++11 新特性详解(一):列表初始化、initializer_list 与右值引用
java·开发语言·数据结构·c++·算法·leetcode·list
MC皮蛋侠客13 小时前
TDengine C++ 系列(11):性能模型与调优——从测量到优化
c++·php·tdengine
兔兔兔兔114 小时前
记录C++ 3
开发语言·c++