Поделиться через


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

См. также

Ссылки

Класс CDC

Диаграмма иерархии

CDC::Rectangle

RoundRect

Класс CRect

Структура RECT

Структура POINT

Класс CPoint