CRgn::CreatePolygonRgn

BOOL CreatePolygonRgn ( LPPOINT LpPoints, Int nCount, Int nMode );

Rückgabewert

Ungleich NULL, wenn der Vorgang erfolgreich war; andernfalls 0.

Parameter

lpPoints

Verweist auf ein Array von POINT -Strukturen oder ein Array von CPoint -Objekten. Jede Struktur gibt die X-Koordinate und die y-Koordinate des ein Eckpunkt des Polygons. Die POINT -Struktur hat folgende form:

typedef Struct TagPOI&NT {}
 Nbsp; Int X;
   Int y;
} PUNKT

nCount

Gibt die Anzahl der POINT -Strukturen oder CPoint -Objekten im Array auf verweist lpPoints.

nMode

Gibt den Modus der Füllung für die Region. Dieser Parameter kann entweder alternativer oder WINDING sein.

Bemerkungen

Erstellt einen polygonalen Bereich. Das System schließt das Polygon automatisch, wenn nötig, durch Zeichnen einer Linie von der letzten Scheitelpunkt zum ersten. Die daraus resultierende Region ist im CRgn -Objekt gespeichert.

Die Größe einer Region ist auf 32.767 von 32.767 logische Einheiten oder 64 K Speicher begrenzt, welcher Wert kleiner ist.

Wenn das Polygon-Füllmodus ALTERNATEist, füllt das System den Bereich zwischen Polygon ungeraden und geraden Seiten auf einzelnen Scanzeilen. Das heißt, füllt das System den Bereich zwischen der ersten und der zweiten Seite, zwischen der dritten und vierten Seite, usw.

Wenn das Polygon-Füllmodus WICKLUNGist, verwendet das System die Richtung, in der eine Figur gezeichnet wurde, zu um bestimmen, ob einen Bereich zu füllen. Jeden Linienabschnitt in einem Vieleck wird im Uhrzeigersinn oder Uhrzeigersinn gezeichnet. Sobald eine imaginäre Linie gezogen von einem geschlossenen Bereich nach außen einer Figur durch ein Liniensegment im Uhrzeigersinn bewegt, wird ein Zähler erhöht. Wenn die Zeile einen gegen den Uhrzeigersinn Liniensegment durchläuft, wird der Zähler dekrementiert. Der Bereich wird gefüllt, wenn der Zähler ungleich NULL ist, wenn die Zeile außerhalb der Figur erreicht.

Wenn eine Anwendung mit eine Region mit der CreatePolygonRgn -Funktion erstellt abgeschlossen hat, sollte es wählen Sie die Region von den Gerätekontext und die DeleteObject -Funktion verwenden, um es zu entfernen.

CRgn Übersicht |nbsp; Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CRgn::CreatePolyPolygonRgn, :: CreatePolygonRgn

Index