CRgn::CreatePolyPolygonRgn

BOOL CreatePolyPolygonRgn ( LPPOINT LpPoints, LPINT LpPolyCounts, Int nCount, Int nPolyFillMode );

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, die die Eckpunkte der Polygone definiert. Jedes Polygon muss explizit geschlossen werden, da das System sie nicht automatisch geschlossen wird. Die Polygone werden hintereinander angegeben. Die POINT -Struktur hat folgende form:

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

lpPolyCounts

Verweist auf ein Array von Ganzzahlen. Die erste ganze Zahl gibt die Anzahl der Vertices in der ersten Polygon im LpPoints -Array, die zweite ganze Zahl gibt die Anzahl der Vertices in der zweiten Polygon, usw.

nCount

Gibt die Gesamtanzahl von ganzen Zahlen im LpPolyCounts -array.

nPolyFillMode

Gibt den Modus der Polygon-Füllung. Dieser Wert kann entweder alternativer oder WINDING sein.

Bemerkungen

Erstellt einen Bereich, bestehend aus einer Reihe von geschlossenen Polygonen. Die daraus resultierende Region ist im CRgn -Objekt gespeichert.

Die Polygone möglicherweise disjunkt, oder sie können sich überlappen.

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 CreatePolyPolygonRgn -Funktion erstellt abgeschlossen hat, sollte es wählen Sie die Region von den Gerätekontext und verwenden Sie die CGDIObject::DeleteObject -Memberfunktion um es zu entfernen.

CRgn Übersicht |nbsp; Member der Klasse | Hierarchiediagramm

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

Index