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 задает ширину эллипса для рисования округленные углы (в логических единицах).Координата y эллипса point определяет высоту для рисования округленные углы (в логических единицах).Можно передавать или структуру 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