MFC实现三角形按钮
以下是 MFC 实现三角形按钮的完整源码,包括自定义的 CMyButton 类和 MFC 应用程序的主要代码。
// MyButton.h
#pragma once
class CMyButton : public CButton
{
public:
CMyButton();
virtual ~CMyButton();
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnPaint();
};
// MyButton.cpp
#include "stdafx.h"
#include "MyButton.h"
CMyButton::CMyButton()
{
}
CMyButton::~CMyButton()
{
}
BEGIN_MESSAGE_MAP(CMyButton, CButton)
ON_WM_PAINT()
END_MESSAGE_MAP()
void CMyButton::OnPaint()
{
CPaintDC dc(this);
// 获取按钮的宽度和高度
CRect rect;
GetClientRect(&rect);
int nWidth = rect.Width();
int nHeight = rect.Height();
// 设置背景色和前景色
dc.FillSolidRect(rect, GetSysColor(COLOR_BTNFACE));
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(GetSysColor(COLOR_BTNTEXT));