CDC::RoundRect

使用将向当前,钢笔绘制带圆角的一个矩形。

BOOL RoundRect(
   int x1,
   int y1,
   int x2,
   int y2,
   int x3,
   int y3 
);
BOOL RoundRect(
   LPCRECT lpRect,
   POINT point 
);

参数

  • x1
    指定矩形的左上角的x坐标(以逻辑单位)。

  • y1
    指定矩形的左上角的y坐标(以逻辑单位)。

  • x2
    指定矩形的右下角的x坐标(以逻辑单位)。

  • y2
    指定矩形的右下角的y坐标(以逻辑单位)。

  • x3
    指定用于的椭圆的宽度绘制圆角(以逻辑单位)。

  • y3
    指定用于的椭圆的高度绘制圆角(以逻辑单位)。

  • lpRect
    在逻辑单位指定边框。 您可以通过一 CRect 对象或指向一 RECT 结构此参数的。

  • point
    point x坐标指定椭圆的宽度绘制圆角(以逻辑单位)。 point y坐标指定椭圆的高度绘制圆角(以逻辑单位)。 您可以通过一 POINT 结构或一 CPoint 对象此参数的。

返回值

非零,如果函数运行成功;否则为0。

备注

使用当前画笔,矩形内加载。

此功能绘制图形扩展到,但不包括右侧和底部坐标。 这意味着运行的高度。y2 – y1 和该图中的宽度是 x2 – x1。 高度和边框的宽度大于2个单位和少于32,767个单位必须大。

示例

void CDCView::DrawRoundRect(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);

   // shrink our rect 20 pixels in each direction
   rect.DeflateRect(20, 20);

   // Draw a thick black rectangle filled with blue
   // corners rounded at a 17-unit radius. Note that
   // a radius of three or less is not noticable because
   // the pen is three units wide.
   pDC->RoundRect(rect, CPoint(17, 17));

   // put back the old objects
   pDC->SelectObject(pOldBrush);
   pDC->SelectObject(pOldPen);
}

要求

Header: afxwin.h

请参见

参考

CDC 类

层次结构图

CDC::Rectangle

RoundRect

CRect选件类

RECT 结构

POINT 结构

CPoint选件类