CRgn::CreatePolygonRgn

BOOL CreatePolygonRgn ( LPPOINT lpPoints, int nCount, int nMode );

Valeur de retour

Différent de zéro si l'opération a réussi ; sinon 0.

Paramètres

lpPoints

Pointe vers un tableau de structures POINT ou un tableau d'objets CPoint . Chaque structure spécifie la coordonnée x et la coordonnée y d'un sommet du polygone. La structure POINT a la forme suivante:

typeDef struct tagPOI&NT {
 nbsp ; int x ;
   int y ;
} POINT

nCount

Spécifie le nombre de structures POINT ou CPoint objets dans le tableau indiqué par lpPoints.

nMode

Spécifie le mode de remplissage de la région. Ce paramètre peut être remplaçant ou sinueuse.

Remarques

Crée une zone polygonale. Le système ferme le polygone automatiquement, si nécessaire, en traçant une ligne depuis le dernier sommet de la première. La région qui en résulte est stockée dans l'objet CRgn.

La taille d'une région est limitée à des unités logiques de 32 767 par 32 767 ou 64 K de mémoire, selon ce qui est plus petit.

Lorsque le mode de remplissage de polygone est remplaçant, le système remplit la zone entre les côtés du polygone impaires et paires sur chaque ligne de numérisation. C'est le système remplit la zone entre le premier et le deuxième côté, entre le troisième et le quatrième côté, etc.

Lorsque le mode de remplissage de polygone est sinueuse, le système utilise la direction dans laquelle un personnage a été dessiné afin de déterminer si remplir une zone de. Chaque segment de ligne dans un polygone est tracée dans un sens négatif ou une direction dans le sens antihoraire. Chaque fois qu'une ligne imaginaire tracée dans une zone fermée à l'extérieur d'un personnage passe par un segment de ligne dans le sens horaire, un compteur est incrémenté. Lorsque la ligne traverse un segment de ligne dans le sens anti-horaire, le compteur est décrémenté. La zone est remplie si le nombre est non nul lorsque la ligne atteint à l'extérieur de la figure.

Lorsqu'une application a fini d'utiliser une région créée avec la fonction CreatePolygonRgn , il doit choisir la région dans le contexte de périphérique et utiliser la fonction DeleteObject pour la supprimer.

Aperçu CRgn |nbsp ; Membres de la classe | Graphique de la hiérarchie

Voir aussinbsp ;CRgn::CreatePolyPolygonRgn, :: CreatePolygonRgn

Index