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) |