一、 FillSolidRect
函数原型:
void CDC::FillSolidRect(
LPCRECT lpRect,
COLORREF clr);
功能:
用指定颜色填充矩形区域
示例:
COLORREF oldBkColor = dc.GetBkColor();
dc.FillSolidRect(&rc, RGB(255, 0, 0));
dc.SetBkColor(oldBkColor);
注意:
由于FillSolidRect会改变DC的BkColor,所以一般会在调用之前获取DC的当前BkColor,
调用之后再设置回去.
二、 FillRect
函数原型:
void CDC::FillRect(
LPCRECT lpRect,
CBrush* pBrush
);
功能:
用指定画刷填充矩形区域
示例:
CBrush brush;
brush.CreateSolidBrush(RGB(255, 0, 0));
dc.FillRect(&rc, &brush);
三、 FrameRect
函数原型:
void CDC::FrameRect(
LPCRECT lpRect,
CBrush* pBrush
);
功能:
用指定画刷绘制矩形边框,边框宽度为1
示例:
CBrush brush;
brush.CreateSolidBrush(RGB(255, 0, 0));
dc.FrameRect(&rc, &brush);
对按钮调用以上代码效果如下
四、 Rectangle
函数原型:
BOOL CDC::Rectangle(
LPCRECT lpRect
);
功能:
绘制矩形区域,边框采用DC的当前画笔绘制,背景采用DC的当前画刷绘制。
示例:
绘制矩形区域,边框为蓝色,宽度为5,背景为黑色。
HBRUSH hBlackBrush = (HBRUSH)::GetStockObject(BLACK_BRUSH);
CBrush* pBlackBrush = CBrush::FromHandle(hBlackBrush);
CBrush* pOldBrush = dc.SelectObject(pBlackBrush);
CPen bluePen;
bluePen.CreatePen(PS_SOLID, 5, RGB(0, 0, 255));
CPen* pOldPen = dc.SelectObject(&bluePen);
dc.Rectangle(&rc);
dc.SelectObject(pOldBrush);
dc.SelectObject(pOldPen);