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