圆角矩形的画法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
画圆角矩形使用的函数是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);
}
_________________何凯