CDC::RoundRect

Zeichnet ein Rechteck mit abgerundeten Ecken mithilfe des aktuellen Stiftes.

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

Parameter

  • x1
    Gibt die X-Koordinate der oberen linken Ecke des Rechtecks an (in logischen Einheiten).

  • y1
    Gibt die Y-Koordinate der oberen linken Ecke des Rechtecks an (in logischen Einheiten).

  • x2
    Gibt die X-Koordinate der rechten unteren Ecke des Rechtecks an (in logischen Einheiten).

  • y2
    Gibt die Y-Koordinate der unteren rechten Ecke des Rechtecks an (in logischen Einheiten).

  • x3
    Gibt die Breite der Ellipse an, die verwendet wird, um die abgerundeten Ecken zu zeichnen (in logischen Einheiten).

  • y3
    Gibt die Höhe der Ellipse an, die verwendet wird, um die abgerundeten Ecken zu zeichnen (in logischen Einheiten).

  • lpRect
    Gibt das umschließende Rechteck in logischen Einheiten an.Sie können entweder ein CRect-Objekt oder einen Zeiger auf eine Struktur RECT für diesen Parameter übergeben.

  • point
    Die x-Koordinate von point gibt die Breite der Ellipse an, um die abgerundeten Ecken zu zeichnen (in logischen Einheiten).Die y-Koordinate von point gibt die Höhe der Ellipse an, um die abgerundeten Ecken zu zeichnen (in logischen Einheiten).Sie können eine POINT-Struktur oder ein CPoint-Objekt für diesen Parameter übergeben.

Rückgabewert

Ungleich 0 (null), wenn die Funktion erfolgreich; 0 andernfalls.

Hinweise

Der Innere des Rechtecks wird unter Verwendung des aktuellen Pinselfarbe gefüllt.

Die Abbildung, die diese Funktion zeichnet, erweitert, bis zu jedoch umfasst nicht die Recht- und Unterseitenkoordinaten.Dies bedeutet, dass die Höhe der Abbildung y2 - y1 und die Breite der Abbildung ist x2 - x1 ist.müssen die Höhe und die Breite des umgebenden Rechtecks als 2 Einheiten und weniger als 32.767 Einheiten größer sein.

Beispiel

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

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CDC-Klasse

Hierarchien-Diagramm

CDC::Rectangle

RoundRect

CRect-Klasse

RECT-Struktur

POINT-Struktur

CPoint-Klasse