当前位置:文档之家› 圆角矩形的画法

圆角矩形的画法

画圆角矩形使用的函数是CDC::RoundRect,有下面两种形式:
BOOL RoundRect(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3
);
BOOL RoundRect(
LPCRECT lpRect,
POINT point
);
参数:
x1,y1:左上角坐标;x2,y2:右下角坐标,这个和普通矩形是一样的;x3:画圆角的那个椭圆的宽度,y3:画圆角的那个椭圆的高度。

lpRect:对应x1、y1,x2,y2
point:x3,y3组成一个POINT
例子:在绘图客户区绘制一个圆角矩形,效果如下:
void CMyView::OnDraw(CDC* pDC)
{
// create and select a solid blue brush
CBrush brushBlue(RGB(0, 0, 255));
CBrush* pOldBrush = pDC->SelectObject(&brushBlue);
// create and select a thick, black pen
CPen penBlack;
penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
CPen* pOldPen = pDC->SelectObject(&penBlack);
// get our client rectangle
CRect rect;
GetClientRect(rect);
// 将矩形在上下、左右全部缩短20
rect.DeflateRect(20, 20);
//画一个圆角矩形,使用笔和刷子
pDC->RoundRect(rect, CPoint(17, 17));
// put back the old objects
pDC->SelectObject(pOldBrush);
pDC->SelectObject(pOldPen);
}
_________________何凯。

相关主题