CRgn::CreateRoundRectRgn

Erstellt einen rechteckigen Bereich mit abgerundeten Ecken, der im CRgn-Objekt gespeichert wird.

BOOL CreateRoundRectRgn(
   int x1,
   int y1,
   int x2,
   int y2,
   int x3,
   int y3 
);

Parameter

  • x1
    Gibt die logische x-Koordinate der linken oberen Ecke des Bereichs an.

  • y1
    Gibt die logische y-Koordinate der linken oberen Ecke des Bereichs an.

  • x2
    Gibt die logische X-Koordinate der rechten unteren Ecke des Bereichs an.

  • y2
    Gibt die logische y-Koordinate der rechten unteren Ecke des Bereichs an.

  • x3
    Gibt die Breite der Ellipse an, die verwendet wird, um die abgerundeten Ecken zu erstellen.

  • y3
    Gibt die Höhe der Ellipse an, die verwendet wird, um die abgerundeten Ecken zu erstellen.

Rückgabewert

Ungleich 0 (null), wenn der Vorgang erfolgreich war; 0 andernfalls.

Hinweise

Die Größe eines Bereichs ist auf 32.767 durch 32.767 logische Einheiten oder zu von je des Arbeitsspeichers beschränkt, das kleiner ist.

Wenn eine Anwendung mit eines Bereichs beendet, der mit der CreateRoundRectRgn-Funktion erstellt wird, sollte sie den Bereich aus dem Gerätekontext out auswählen und die CGDIObject::DeleteObject-Memberfunktion verwenden, um sie zu entfernen.

Beispiel

CRgn   rgnA, rgnB, rgnC;

VERIFY(rgnA.CreateRoundRectRgn( 50, 50, 150, 150, 30, 30 ));
VERIFY(rgnB.CreateRoundRectRgn( 200, 75, 250, 125, 50, 50 ));
VERIFY(rgnC.CreateRectRgn( 0, 0, 50, 50 ));

int nCombineResult = rgnC.CombineRgn( &rgnA, &rgnB, RGN_OR );
ASSERT( nCombineResult != ERROR && nCombineResult != NULLREGION );

CBrush brA, brB, brC;
VERIFY(brA.CreateSolidBrush( RGB(255, 0, 0) ));  
VERIFY(pDC->FillRgn( &rgnA, &brA));      // rgnA Red Filled

VERIFY(brB.CreateSolidBrush( RGB(0, 255, 0) ));  
VERIFY(pDC->FillRgn( &rgnB, &brB));      // rgnB Green Filled
VERIFY(brC.CreateSolidBrush( RGB(0, 0, 255) ));  // rgnC Blue
VERIFY(pDC->FrameRgn( &rgnC, &brC, 2, 2 ));

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CRgn-Klasse

Hierarchien-Diagramm

CRgn::CreateRectRgn

CRgn::CreateRectRgnIndirect

CreateRoundRectRgn