Partager via


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.

Syntaxe

HPEN CreatePen(
  [in] int      iStyle,
  [in] int      cWidth,
  [in] COLORREF color
);

Paramètres

[in] iStyle

Stylet. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
PS_SOLID
Le stylet est plein.
PS_DASH
Le stylet est en pointillés. Ce style est valide uniquement lorsque la largeur du stylet est égale ou inférieure à une unité d’appareil.
PS_DOT
Le stylet est pointillé. Ce style est valide uniquement lorsque la largeur du stylet est égale ou inférieure à une unité d’appareil.
PS_DASHDOT
Le stylet comporte des tirets et des points en alternance. Ce style est valide uniquement lorsque la largeur du stylet est égale ou inférieure à une unité d’appareil.
PS_DASHDOTDOT
Le stylet comporte des tirets et des points doubles en alternance. Ce style est valide uniquement lorsque la largeur du stylet est égale ou inférieure à une unité d’appareil.
PS_NULL
Le stylet est invisible.
PS_INSIDEFRAME
Le stylet est plein. Lorsque ce stylet est utilisé dans n’importe quelle fonction de dessin GDI qui prend un rectangle englobant, les dimensions de la figure sont réduites de sorte qu’elle tient entièrement dans le rectangle englobant, en tenant compte de la largeur du stylet. Cela s’applique uniquement aux stylets géométriques.

[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 .

Valeur retournée

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.

Remarques

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.

Exemples

Pour obtenir un exemple, consultez Création de stylets et de pinceaux colorés.

Configuration requise

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

Voir aussi

COLORREF

CreatePenIndirect

DeleteObject

ExtCreatePen

Getobject

Fonctions de stylet

Vue d’ensemble des stylos

RGB

SelectObject