基类是CStatic
在OnPaint()函数中绘制矩形设置颜色
//获取矩形范围
CRect rcClient;
GetClientRect(&rcClient);
//创建画笔
CPen pen;
pen.CreatePen(PS_SOLID, 1, RGB(255,0,0));//边框设置为红色边框
//选入画笔
dc.SelectObject(pen);
dc.SelectStockObject(NULL_BRUSH);//只画一个矩形边框,不使用画刷擦除矩形内的图形
dc.SelectObject(m_Font);//字体
CString strText;
GetWindowText(strText);
rcClient.top = 7;//矩形的位置向下移动一些,给文本留一些位置
dc.Rectangle(rcClient);
//显示文本
CWnd *pParent = GetParent();
if(NULL != pParent)
{
COLORREF colorRef = pParent->GetDC()->GetPixel(1, 1);//根据父窗口像素点的颜色来获取父窗口的背景颜色
dc.SetBkColor(colorRef);//设置文本的背景颜色为父窗口的背景颜色
}
dc.TextOut(10, 0,strText);
本文介绍如何在CStatic基类中利用OnPaint函数绘制带红色边框的矩形,并展示文本。通过创建画笔并设置其属性,选择画笔进行绘制,同时设置文本背景色为父窗口背景色。
5229





