multicolorstatic.cpp

来自「dll的一些学习资料」· C++ 代码 · 共 66 行

CPP
66
字号
// MultiColorStatic.cpp : implementation file
//

#include "stdafx.h"
//#include "	\ add additional includes here"
#include "MultiColorStatic.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMultiColorStatic

CMultiColorStatic::CMultiColorStatic()
{
}

CMultiColorStatic::~CMultiColorStatic()
{
}


BEGIN_MESSAGE_MAP(CMultiColorStatic, CStatic)
//{{AFX_MSG_MAP(CMultiColorStatic)
	ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMultiColorStatic message handlers


//为CMultiColorStatic类添加“设置文本颜色”接口
void CMultiColorStatic::SetTextColor(COLORREF TextColor)
{
	m_TextColor=TextColor;       //设置文字颜色
}
//为CMultiColorStatic类添加“设置背景颜色”接口
void CMultiColorStatic::SetBackColor(COLORREF BackColor)
{
    m_BackColor=BackColor;      //设置背景颜色
}

void CMultiColorStatic::SetCaption(CString strCaption)
{
	m_strCaption=strCaption;
}

void CMultiColorStatic::OnPaint() //重画Static
{
    CPaintDC dc(this); // device context for painting
    CRect rect;
    GetClientRect(&rect);
    dc.SetBkColor(m_BackColor);
    dc.SetBkMode(TRANSPARENT);
    CFont *pFont=GetParent()->GetFont();//得到父窗体的字体
    CFont *pOldFont;
    pOldFont=dc.SelectObject(pFont);//选用父窗体的字体
    dc.SetTextColor(m_TextColor);//设置文本颜色
    dc.DrawText(m_strCaption,&rect,DT_CENTER);//将文本画在Static的中央
    dc.SelectObject(pOldFont);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?