CreatePen, fonction (wingdi.h)
La fonction CreatePen crée un stylet logique qui a le style, la largeur et la couleur spécifiés. Le stylet peut ensuite être sélectionné dans un contexte d’appareil et utilisé pour dessiner des lignes et des courbes.
HPEN CreatePen(
[in] int iStyle,
[in] int cWidth,
[in] COLORREF color
);
[in] iStyle
Stylet. Il peut s’agir de l’une des valeurs suivantes.
[in] cWidth
Largeur du stylet, en unités logiques. Si nWidth est égal à zéro, le stylet a une largeur d’un seul pixel, quelle que soit la transformation actuelle.
CreatePen retourne un stylet avec la largeur spécifiée, mais avec le style PS_SOLID si vous spécifiez une largeur supérieure à un pour les styles suivants : PS_DASH, PS_DOT, PS_DASHDOT, PS_DASHDOTDOT.
[in] color
Référence de couleur pour la couleur du stylet. Pour générer une structure COLORREF , utilisez la macro RVB .
Si la fonction réussit, la valeur de retour est un handle qui identifie un stylet logique.
Si la fonction échoue, la valeur de retour est NULL.
Une fois qu’une application a créé un stylet logique, elle peut sélectionner ce stylet dans un contexte d’appareil en appelant la fonction SelectObject . Une fois qu’un stylet est sélectionné dans un contexte d’appareil, il peut être utilisé pour dessiner des lignes et des courbes.
Si la valeur spécifiée par le paramètre nWidth est égale à zéro, une ligne dessinée avec le stylet créé a toujours une largeur d’un seul pixel, quelle que soit la transformation en cours.
Si la valeur spécifiée par nWidth est supérieure à 1, le paramètre fnPenStyle doit être PS_NULL, PS_SOLID ou PS_INSIDEFRAME.
Si la valeur spécifiée par nWidth est supérieure à 1 et que fnPenStyle est PS_INSIDEFRAME, la ligne associée au stylet est dessinée dans le cadre de toutes les primitives à l’exception des polygones et des polylignes.
Si la valeur spécifiée par nWidth est supérieure à 1, fnPenStyle est PS_INSIDEFRAME et que la couleur spécifiée par le paramètre crColor ne correspond pas à l’une des entrées de la palette logique, le système dessine des lignes à l’aide d’une couleur tramée. Les couleurs tramées ne sont pas disponibles avec les stylets uni.
Lorsque vous utilisez un paramètre iStyle de PS_DASH, PS_DOT, PS_DASHDOT ou PS_DASHDOTDOT, pour rendre les espaces entre les tirets ou les points transparents, utilisez SetBkMode pour définir le mode sur TRANSPARENT.
Lorsque vous n’avez plus besoin du stylet, appelez la fonction DeleteObject pour le supprimer.
ICM: Aucune gestion des couleurs n’est effectuée lors de la création. Toutefois, la gestion des couleurs est effectuée lorsque le stylet est sélectionné dans un contexte d’appareil compatible ICM.
Pour obtenir un exemple, consultez Création de stylets et de pinceaux colorés.
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wingdi.h (inclure Windows.h) |
Bibliothèque | Gdi32.lib |
DLL | Gdi32.dll |