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