CDC::RoundRect

来源:互联网 发布:centos 7 3306端口 编辑:程序博客网 时间:2024/06/15 12:20

来源于MSDN:https://msdn.microsoft.com/zh-cn/library/b0xe62fb(v=vs.110).aspx


CDC::RoundRect

Visual Studio 2012

Draws a rectangle with rounded corners using the current pen.

使用当前的画笔画一个带圆角的矩形

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

Parameters

x1

Specifies the x-coordinate of the upper-left corner of the rectangle (in logical units).矩形左上角x坐标

y1

Specifies the y-coordinate of the upper-left corner of the rectangle (in logical units).矩形左上角y坐标

x2

Specifies the x-coordinate of the lower-right corner of the rectangle (in logical units).矩形右下角x坐标

y2

Specifies the y-coordinate of the lower-right corner of the rectangle (in logical units).矩形右下角y坐标

x3

Specifies the width of the ellipse used to draw the rounded corners (in logical units).椭圆的宽

y3

Specifies the height of the ellipse used to draw the rounded corners (in logical units).椭圆的高

lpRect

Specifies the bounding rectangle in logical units. You can pass either a CRect object or a pointer to a RECT structure for this parameter.

point

The x-coordinate of point specifies the width of the ellipse to draw the rounded corners (in logical units). The y-coordinate of pointspecifies the height of the ellipse to draw the rounded corners (in logical units). You can pass either a POINT structure or a CPointobject for this parameter.

x为椭圆的宽,y为椭圆的高。可以使用POINT结构体传递圆角的参数。

Return Value

Nonzero if the function is successful; otherwise 0.执行成功返回值非0,否则为0

Remarks

The interior of the rectangle is filled using the current brush.矩形内部(颜色)由当前刷子填充

The figure this function draws extends up to but does not include the right and bottom coordinates. This means that the height of the figure is y2 – y1 and the width of the figure is x2 – x1. Both the height and the width of the bounding rectangle must be greater than 2 units and less than 32,767 units.

x1,y1的值必须小于x2,y2。矩形的高是y2-y1,宽是x2-x1,取值范围为2~32767

Example

C++
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);}

Requirements

Header: afxwin.h

See Also

Reference

CDC Class
Hierarchy Chart
CDC::Rectangle
RoundRect
CRect Class
RECT Structure
POINT Structure
CPoint Class

0 0
原创粉丝点击