MFC实现按钮自绘

先上效果图:
在这里插入图片描述
步骤:

  1. 新建一个MFC项目。
  2. 右击新建的项目,添加—》类,新建一个CMyButton类,基类为CButton。
    在这里插入图片描述
  3. 在类视图中找到我们新添加的类,右击----》类向导----》虚函数----》添加DrawItam虚函数。
    在这里插入图片描述
  4. 在添加的虚函数实现里添加如下代码:
void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{

	// TODO:  添加您的代码以绘制指定项
	CDC* pdc = CDC::FromHandle(lpDrawItemStruct->hDC);
	CRect rect = lpDrawItemStruct->rcItem;//空间选择
	CBrush brush;//填充颜色
	CPen pen;//边框颜色
	CString title = L"参数设置";//设置按钮名称
	CSize sz;//大小
	CFont font;

	pen.CreatePen(PS_SOLID, 2, RGB(193, 210, 240));
	brush.CreateSolidBrush(RGB(102, 102, 153));
	pdc->SelectObject(pen);
	pdc->SelectObject(brush);
	pdc->Rectangle(rect);

	font.CreateFontW(0, 0, 0, 0, 400, NULL, NULL, NULL, DEFAULT_CHARSET, 0, 0, 0, 0, L"宋体");
	pdc->SelectObject(font);
	sz = pdc->GetTextExtent(title);
	rect.top += (rect.Height() - sz.cy) / 2;
	pdc->SetBkMode(TRANSPARENT);

	pdc->SetTextColor(RGB(255, 255, 255));//设置字体颜色
	pdc->DrawText(title, rect, DT_CENTER);
	font.DeleteObject();
	pen.DeleteObject();
	brush.DeleteObject();
	pdc->DeleteDC();
}
  1. 转到xxxDlg.h添加新建类的头文件

#include “CMyButton.h”

  1. 资源视图里找到Dialog,在对话框中添加一个button按钮。右击按钮,添加变量,变量类型设置为你新建的类名,即CMyButton类。
    在这里插入图片描述
    最后运行就会出现效果图了。

版权声明:本文为qq_44722098原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。