Structure EXTLOGPEN (wingdi.h)

La structure EXTLOGPEN définit le stylet, la largeur et les attributs de pinceau d’un stylet étendu. Cette structure est utilisée par la fonction GetObject lorsqu’elle récupère une description d’un stylet créé lors d’une application appelée fonction ExtCreatePen .

Syntaxe

typedef struct tagEXTLOGPEN {
  DWORD     elpPenStyle;
  DWORD     elpWidth;
  UINT      elpBrushStyle;
  COLORREF  elpColor;
  ULONG_PTR elpHatch;
  DWORD     elpNumEntries;
  DWORD     elpStyleEntry[1];
} EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;

Membres

elpPenStyle

Combinaison de type de stylet, de style, de stylet de fin et de style de jointure. Les valeurs de chaque catégorie peuvent être récupérées à l’aide d’un opérateur AND au niveau du bit avec le masque approprié.

Le membre elpPenStyle masqué avec PS_TYPE_MASK a l’une des valeurs de type de stylet suivantes.

Valeur Signification
PS_GEOMETRIC Le stylet est géométrique.
PS_COSMETIC Le stylet est cosmétique.
 

Le membre elpPenStyle masqué avec PS_STYLE_MASK a l’une des valeurs de stylet suivantes :

Valeur Signification
PS_DASH Le stylet est pointé.
PS_DASHDOT Le stylet comporte une alternance de tirets et de points.
PS_DASHDOTDOT Le stylet comporte une alternance de tirets et de points doubles.
PS_DOT Le stylet est en pointillés.
PS_INSIDEFRAME Le stylet est solide. Lorsque ce stylet est utilisé dans une fonction de dessin GDI qui prend un rectangle englobant, les dimensions de la figure sont réduites afin qu’elle s’intègre entièrement dans le rectangle englobant, en tenant compte de la largeur du stylet. Cela s’applique uniquement aux PS_GEOMETRIC stylos.
PS_NULL Le stylet est invisible.
PS_SOLID Le stylet est solide.
PS_USERSTYLE Le stylet utilise un tableau de stylet fourni par l’utilisateur.
 

La catégorie suivante s’applique uniquement aux PS_GEOMETRIC stylets. Le membre elpPenStyle masqué avec PS_ENDCAP_MASK a l’une des valeurs de limite de fin suivantes.

Valeur Signification
PS_ENDCAP_FLAT Les extrémités de ligne sont plates.
PS_ENDCAP_ROUND Les extrémités de ligne sont rondes.
PS_ENDCAP_SQUARE Les extrémités de ligne sont carrées.
 

La catégorie suivante s’applique uniquement aux PS_GEOMETRIC stylets. Le membre elpPenStyle masqué avec PS_JOIN_MASK a l’une des valeurs de jointure suivantes.

Valeur Signification
PS_JOIN_BEVEL Les jointures de ligne sont biseautées.
PS_JOIN_MITER Les jointures de ligne sont mises en place lorsqu’elles se trouvent dans la limite actuelle définie par la fonction SetMiterLimit . Une jointure est biseautée lorsqu’elle dépasse la limite.
PS_JOIN_ROUND Les jointures de ligne sont rondes.

elpWidth

Largeur du stylet. Si le membre elpPenStyle est PS_GEOMETRIC, cette valeur correspond à la largeur de la ligne en unités logiques. Sinon, les lignes sont cosmétiques et cette valeur est 1, ce qui indique une ligne d’une largeur d’un pixel.

elpBrushStyle

Style de pinceau du stylet. La valeur du membre elpBrushStyle peut être l’une des suivantes.

Valeur Signification
BS_DIBPATTERN Spécifie un pinceau de modèle défini par une spécification DIB. Si elpBrushStyle est BS_DIBPATTERN, le membre elpHatch contient un handle pour une DIB empaquetée. Pour plus d’informations, consultez discussion dans elpHatch
BS_DIBPATTERNPT Spécifie un pinceau de modèle défini par une spécification DIB. Si elpBrushStyle est BS_DIBPATTERNPT, le membre elpHatch contient un pointeur vers une DIB empaquetée. Pour plus d’informations, consultez discussion dans elpHatch.
BS_HATCHED Spécifie une brosse hachurée.
BS_HOLLOW Spécifie un pinceau creux ou NULL .
BS_PATTERN Spécifie un pinceau de modèle défini par une image bitmap de mémoire.
BS_SOLID Spécifie un pinceau uni.

elpColor

Si elpBrushStyle est BS_SOLID ou BS_HATCHED, elpColor spécifie la couleur dans laquelle le stylet doit être dessiné. Par BS_HATCHED, les fonctions SetBkMode et SetBkColor déterminent la couleur d’arrière-plan.

Si elpBrushStyle est BS_HOLLOW ou BS_PATTERN, elpColor est ignoré.

Si elpBrushStyle est BS_DIBPATTERN ou BS_DIBPATTERNPT, le mot d’ordre inférieur elpColor spécifie si le membre bmiColors de la structure BITMAPINFO contient des valeurs RVB explicites ou des index dans la palette logique actuellement réalisée. La valeur elpColor doit être l’une des valeurs suivantes.

Valeur Signification
DIB_PAL_COLORS La table de couleurs se compose d’un tableau d’index 16 bits dans la palette logique actuellement réalisée.
DIB_RGB_COLORS La table de couleurs contient des valeurs RVB littérales.
 

La macro RVB est utilisée pour générer une structure COLORREF .

elpHatch

Si elpBrushStyle est BS_PATTERN, elpHatch est un handle de la bitmap qui définit le modèle.

Si elpBrushStyle est BS_SOLID ou BS_HOLLOW, elpHatch est ignoré.

Si elpBrushStyle est BS_DIBPATTERN, le membre elpHatch est un handle pour une DIB emballée. Pour obtenir ce handle, une application appelle la fonction GlobalAlloc avec GMEM_MOVEABLE (ou LocalAlloc avec LMEM_MOVEABLE) pour allouer un bloc de mémoire, puis remplit la mémoire avec la DIB empaquetée. Une DIB empaquetée se compose d’une structure BITMAPINFO immédiatement suivie du tableau d’octets qui définissent les pixels de l’image bitmap.

Si elpBrushStyle est BS_DIBPATTERNPT, le membre elpHatch est un pointeur vers une DIB empaquetée. Le pointeur dérive du bloc de mémoire créé par LocalAlloc avec LMEM_FIXED défini ou par GlobalAlloc avec GMEM_FIXED défini, ou il s’agit du pointeur retourné par un appel comme LocalLock (handle_to_the_dib). Une DIB empaquetée se compose d’une structure BITMAPINFO immédiatement suivie du tableau d’octets qui définissent les pixels de la bitmap.

Si elpBrushStyle est BS_HATCHED, le membre elpHatch spécifie l’orientation des lignes utilisées pour créer la trappe. Il peut avoir l’une des valeurs suivantes.

Valeur Signification
HS_BDIAGONAL Trappe vers le haut de 45 degrés (de gauche à droite)
HS_CROSS Crosshatch horizontal et vertical
HS_DIAGCROSS 45 degrés de crosshatch
HS_FDIAGONAL Trappe descendante de 45 degrés (de gauche à droite)
HS_HORIZONTAL Hachure horizontale
HS_VERTICAL Trappe verticale

elpNumEntries

Nombre d’entrées dans le tableau de styles dans le membre elpStyleEntry . Cette valeur est égale à zéro si elpPenStyle ne spécifie pas PS_USERSTYLE.

elpStyleEntry[1]

Tableau de styles fourni par l’utilisateur. Le tableau est spécifié avec une longueur finie, mais il est utilisé comme s’il se répétait indéfiniment. La première entrée du tableau spécifie la longueur du premier tiret. La deuxième entrée spécifie la longueur du premier intervalle. Par la suite, les longueurs de tirets et les espaces alternent.

Si elpWidth spécifie des lignes géométriques, les longueurs sont en unités logiques. Sinon, les lignes sont cosmétiques et les longueurs sont en unités d’appareil.

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]
En-tête wingdi.h (inclure Windows.h)

Voir aussi

BITMAPINFO

COLORREF

ExtCreatePen

Getobject

Structures du stylet

Vue d’ensemble des stylos

RGB

SetBkColor

SetBkMode