CRgn::CreatePolyPolygonRgn

BOOL CreatePolyPolygonRgn ( LPPOINT lpPoints, LPINT lpPolyCounts, int nConteggio, int nPolyFillMode );

Valore restituito

Diverso da zero se l'operazione riuscita; in caso contrario 0.

Parametri

lpPoints

Punti a una matrice di strutture POINT o una matrice di oggetti CPoint che definisce i vertici dei poligoni. Ciascun poligono deve essere chiusa in modo esplicito perché il sistema non li chiude automaticamente. I poligoni sono specificati consecutivamente. La struttura POINT ha la seguente forma:

typedef struct {tagPOI&NT
 nbsp; int x;
   int y;
} PUNTO

lpPolyCounts

Punti a una matrice di valori integer. Il primo numero intero specifica il numero di vertici in primo poligono nella matrice lpPoints , il secondo valore integer specifica il numero di vertici in seconda poligono e così via.

nConteggio

Specifica il numero totale di interi nella matrice lpPolyCounts.

nPolyFillMode

Specifica la modalità di riempimento poligono. Questo valore può essere alternativo o TORTUOSA.

Osservazioni

Crea un'area che consiste di una serie di poligoni chiusi. La regione risultante è memorizzata nell'oggetto CRgn.

I poligoni possono essere disgiunti, o che possono sovrapporsi.

Le dimensioni di una regione sono limitata a unità logiche 32.767 da 32.767 o 64 KB di memoria, se più piccoli.

Quando la modalità di riempimento poligono è alternativo, il sistema riempie la zona fra i lati del poligono dispari e pari su ogni linea di scansione. Cioè, il sistema di riempia l'area tra il primo e il secondo lato, tra il terzo e il quarto lato e così via.

Quando la modalità di riempimento poligono è TORTUOSA, il sistema utilizza la direzione in cui è stata disegnata una figura per determinare se riempire un'area. Ogni segmento di linea in un poligono è disegnato in senso orario o in senso antiorario. Ogni volta che una linea immaginaria tracciata da una zona chiusa di fuori di una figura passa attraverso un segmento di linea in senso orario, un conteggio viene incrementato. Quando la linea passa attraverso un segmento di linea in senso antiorario, il conteggio viene decrementato. La zona è piena di se il conteggio è diverso da zero, quando la linea raggiunge l'esterno della figura.

Quando un'applicazione ha terminato di utilizzare una regione creata con la funzione CreatePolyPolygonRgn , dovrebbe selezionare la regione di contesto di periferica e utilizzare la funzione membro CGDIObject::DeleteObject per rimuoverlo.

Panoramica CRgn |nbsp; Membri della classe | Gerarchia Chart

Vedere anchenbsp;CRgn::CreatePolygonRgn, CDC::SetPolyFillMode, :: CreatePolyPolygonRgn

Index