Estructura EXTLOGPEN (wingdi.h)
La estructura EXTLOGPEN define los atributos de estilo de lápiz, ancho y pincel para un lápiz extendido. La función GetObject usa esta estructura cuando recupera una descripción de un lápiz que se creó cuando una aplicación llamó a la función ExtCreatePen .
Sintaxis
typedef struct tagEXTLOGPEN {
DWORD elpPenStyle;
DWORD elpWidth;
UINT elpBrushStyle;
COLORREF elpColor;
ULONG_PTR elpHatch;
DWORD elpNumEntries;
DWORD elpStyleEntry[1];
} EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;
Miembros
elpPenStyle
Combinación de tipo de lápiz, estilo, estilo final y estilo de combinación. Los valores de cada categoría se pueden recuperar mediante un operador AND bit a bit con la máscara adecuada.
El miembro elpPenStyle enmascarado con PS_TYPE_MASK tiene uno de los siguientes valores de tipo de lápiz.
Valor | Significado |
---|---|
PS_GEOMETRIC | El lápiz es geométrico. |
PS_COSMETIC | El lápiz es cosmético. |
El miembro elpPenStyle enmascarado con PS_STYLE_MASK tiene uno de los siguientes valores de estilos de lápiz:
Valor | Significado |
---|---|
PS_DASH | El lápiz está discontinuo. |
PS_DASHDOT | El lápiz tiene guiones y puntos alternativos. |
PS_DASHDOTDOT | El lápiz tiene guiones alternativos y puntos dobles. |
PS_DOT | El lápiz está punteado. |
PS_INSIDEFRAME | El lápiz es sólido. Cuando este lápiz se usa en cualquier función de dibujo GDI que toma un rectángulo delimitador, las dimensiones de la figura se reducen para que se ajuste completamente al rectángulo delimitador, teniendo en cuenta el ancho del lápiz. Esto solo se aplica a los lápices de PS_GEOMETRIC. |
PS_NULL | El lápiz es invisible. |
PS_SOLID | El lápiz es sólido. |
PS_USERSTYLE | El lápiz usa una matriz de estilos proporcionada por el usuario. |
La categoría siguiente solo se aplica a los lápices de PS_GEOMETRIC. El miembro elpPenStyle enmascarado con PS_ENDCAP_MASK tiene uno de los siguientes valores de límite final.
Valor | Significado |
---|---|
PS_ENDCAP_FLAT | Los extremos de línea son planos. |
PS_ENDCAP_ROUND | Los límites de extremo de línea son redondos. |
PS_ENDCAP_SQUARE | Los extremos de línea son cuadrados. |
La categoría siguiente solo se aplica a los lápices de PS_GEOMETRIC. El miembro elpPenStyle enmascarado con PS_JOIN_MASK tiene uno de los siguientes valores de combinación.
Valor | Significado |
---|---|
PS_JOIN_BEVEL | Las combinaciones de línea están biseladas. |
PS_JOIN_MITER | Las combinaciones de línea se miteran cuando se encuentran dentro del límite actual establecido por la función SetMiterLimit . Una combinación se bisela cuando superaría el límite. |
PS_JOIN_ROUND | Las combinaciones de línea son redondas. |
elpWidth
Ancho del lápiz. Si el miembro elpPenStyle es PS_GEOMETRIC, este valor es el ancho de la línea en unidades lógicas. De lo contrario, las líneas son cosméticas y este valor es 1, lo que indica una línea con un ancho de un píxel.
elpBrushStyle
Estilo de pincel del lápiz. El valor del miembro elpBrushStyle puede ser uno de los siguientes.
Valor | Significado |
---|---|
BS_DIBPATTERN | Especifica un pincel de patrón definido por una especificación DIB. Si elpBrushStyle es BS_DIBPATTERN, el miembro elpHatch contiene un identificador para un DIB empaquetado. Para obtener más información, vea discusión en elpHatch. |
BS_DIBPATTERNPT | Especifica un pincel de patrón definido por una especificación DIB. Si elpBrushStyle es BS_DIBPATTERNPT, el miembro elpHatch contiene un puntero a un DIB empaquetado. Para obtener más información, vea discusión en elpHatch. |
BS_HATCHED | Especifica un pincel sombreado. |
BS_HOLLOW | Especifica un pincel vacío o NULL . |
BS_PATTERN | Especifica un pincel de patrón definido por un mapa de bits de memoria. |
BS_SOLID | Especifica un pincel sólido. |
elpColor
Si elpBrushStyle es BS_SOLID o BS_HATCHED, elpColor especifica el color en el que se va a dibujar el lápiz. Para BS_HATCHED, las funciones SetBkMode y SetBkColor determinan el color de fondo.
Si elpBrushStyle es BS_HOLLOW o BS_PATTERN, se omite elpColor .
Si elpBrushStyle es BS_DIBPATTERN o BS_DIBPATTERNPT, la palabra de orden bajo de elpColor especifica si el miembro de la estructuraBITMAPINFO contiene valores RGB explícitos o índices en la paleta lógica realizada actualmente. El valor elpColor debe ser uno de los siguientes.
Valor | Significado |
---|---|
DIB_PAL_COLORS | La tabla de colores consta de una matriz de índices de 16 bits en la paleta lógica realizada actualmente. |
DIB_RGB_COLORS | La tabla de colores contiene valores RGB literales. |
La macro RGB se usa para generar una estructura COLORREF .
elpHatch
Si elpBrushStyle es BS_PATTERN, elpHatch es un identificador del mapa de bits que define el patrón.
Si elpBrushStyle es BS_SOLID o BS_HOLLOW, se omite elpHatch .
Si elpBrushStyle es BS_DIBPATTERN, el miembro elpHatch es un identificador de un DIB empaquetado. Para obtener este identificador, una aplicación llama a la función GlobalAlloc con GMEM_MOVEABLE (o LocalAlloc con LMEM_MOVEABLE) para asignar un bloque de memoria y, a continuación, rellena la memoria con la DIB empaquetada. Una DIB empaquetada consta de una estructura BITMAPINFO seguida inmediatamente de la matriz de bytes que definen los píxeles del mapa de bits.
Si elpBrushStyle es BS_DIBPATTERNPT, el miembro elpHatch es un puntero a un DIB empaquetado. El puntero deriva del bloque de memoria creado por LocalAlloc con LMEM_FIXED establecido o por GlobalAlloc con GMEM_FIXED establecido, o es el puntero devuelto por una llamada como LocalLock (handle_to_the_dib). Una DIB empaquetada consta de una estructura BITMAPINFO inmediatamente seguida de la matriz de bytes que definen los píxeles del mapa de bits.
Si elpBrushStyle es BS_HATCHED, el miembro elpHatch especifica la orientación de las líneas usadas para crear el sombreado. Puede ser uno de los siguientes valores.
Value | Significado |
---|---|
HS_BDIAGONAL | Sombreado ascendente de 45 grados (de izquierda a derecha) |
HS_CROSS | Símbolo de número horizontal y vertical |
HS_DIAGCROSS | Bloqueo cruzado de 45 grados |
HS_FDIAGONAL | Sombreado descendente de 45 grados (de izquierda a derecha) |
HS_HORIZONTAL | Sombreado horizontal |
HS_VERTICAL | Sombreado vertical |
elpNumEntries
Número de entradas de la matriz de estilo en el miembro elpStyleEntry . Este valor es cero si elpPenStyle no especifica PS_USERSTYLE.
elpStyleEntry[1]
Matriz de estilo proporcionada por el usuario. La matriz se especifica con una longitud finita, pero se usa como si se repitiera indefinidamente. La primera entrada de la matriz especifica la longitud del primer guión. La segunda entrada especifica la longitud de la primera brecha. A partir de entonces, las longitudes de guiones y espacios alternativos.
Si elpWidth especifica líneas geométricas, las longitudes están en unidades lógicas. De lo contrario, las líneas son cosméticas y las longitudes están en unidades de dispositivo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | wingdi.h (incluye Windows.h) |