CRgn::CreateEllipticRgn

Erstellt einen elliptischen Bereich.

BOOL CreateEllipticRgn(
   int x1,
   int y1,
   int x2,
   int y2 
);

Parameter

  • x1
    Gibt die logische X-Koordinate der oberen linken Ecke des umgebenden Rechtecks der Ellipse.

  • y1
    Gibt die logische Y-Koordinate der oberen linken Ecke des umgebenden Rechtecks der Ellipse.

  • x2
    Gibt die logische X-Koordinate der rechten unteren Ecke des umgebenden Rechtecks der Ellipse.

  • y2
    Gibt die logische y-Koordinate der rechten unteren Ecke des umgebenden Rechtecks der Ellipse.

Rückgabewert

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

Hinweise

Der Bereich wird durch das umschließende Rechteck definiert, das von x1, y1, x2 und y2 angegeben wird.Der Bereich wird im CRgn-Objekt gespeichert.

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 er mithilfe eines Bereichs beendet, der mit der CreateEllipticRgn-Funktion erstellt wird, sollte eine Anwendung den Bereich aus dem Gerätekontext out auswählen und die DeleteObject-Funktion verwenden, um sie zu entfernen.

Beispiel

CRgn   rgnA, rgnB, rgnC;

VERIFY(rgnA.CreateEllipticRgn(200, 100, 350, 250));
VERIFY(rgnB.CreateRectRgn( 0, 0, 50, 50 ));
VERIFY(rgnB.CopyRgn( &rgnA ));
int nOffsetResult = rgnB.OffsetRgn( -75, 75 );
ASSERT( nOffsetResult != ERROR && nOffsetResult != NULLREGION );

VERIFY(rgnC.CreateRectRgn( 0, 0, 1, 1));
int nCombineResult = rgnC.CombineRgn( &rgnA, &rgnB, RGN_AND );
ASSERT( nCombineResult != ERROR && nOffsetResult != NULLREGION );

CBrush brA, brB, brC;
VERIFY(brC.CreateHatchBrush( HS_FDIAGONAL, RGB(0, 0, 255) )); // Blue
VERIFY(pDC->FillRgn( &rgnC, &brC ));
VERIFY(brA.CreateSolidBrush( RGB(255, 0, 0) ));  // rgnA Red
VERIFY(pDC->FrameRgn( &rgnA, &brA, 2, 2 ));
VERIFY(brB.CreateSolidBrush( RGB(0, 255, 0) ));  // rgnB Green
VERIFY(pDC->FrameRgn( &rgnB, &brB, 2, 2 ));   

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CRgn-Klasse

Hierarchien-Diagramm

CRgn::CreateEllipticRgnIndirect

CreateEllipticRgn