圆角矩形的画法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

}

_________________何凯

相关文档
最新文档