Freigeben über


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

Hierarchiediagramm

CDC::Rectangle

RoundRect

CRect Class

RECT-Struktur

POINT-Struktur

CPoint Class