Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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