BOOLCreatePolyPolygonRgn (LPPOINTlpPoints,LPINTlpPolyCounts,intintnCount,nPolyFillMode);
Valeur de retour
Différent de zéro si l'opération a réussi ; sinon 0.
Paramètres
lpPoints
Points dans un tableau de structures POINT ou un tableau d'objets CPoint qui définit les sommets des polygones. Chaque polygone doit être explicitement fermé parce que le système ne les ferme pas automatiquement. Les polygones sont spécifiés consécutivement. La structure POINT a la forme suivante:
typeDef struct tagPOI&NT {
nbsp ; int x ;
int y ;
} POINT
lpPolyCounts
Pointe vers un tableau d'entiers. Le premier entier spécifie le nombre de sommets dans le premier polygone dans le tableau de lpPoints , le deuxième entier spécifie le nombre de sommets dans le second polygone et ainsi de suite.
nCount
Spécifie le nombre total d'entiers dans le tableau de lpPolyCounts.
nPolyFillMode
Spécifie le mode de remplissage de polygone. Cette valeur peut être remplaçant ou sinueuse.
Remarques
Crée une région composée d'une série de polygones fermés. La région qui en résulte est stockée dans l'objet CRgn.
Les polygones peuvent être disjoints, ou ils peuvent se chevaucher.
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 CreatePolyPolygonRgn , il doit choisir la région dans le contexte de périphérique et utiliser la fonction membre CGDIObject::DeleteObject pour le supprimer.
Aperçu CRgn |nbsp ; Membres de la classe | Graphique de la hiérarchie
Voir aussinbsp ;CRgn::CreatePolygonRgn, CDC::SetPolyFillMode, :: CreatePolyPolygonRgn