EXTLOGPEN

【勇芳软件工作室】汉化HomePreviousNext

EXTLOGPEN结构定义了扩展笔的笔风格,宽度和画笔属性。当GetObject函数检索当一个名为ExtCreatePen函数的应用程序创建的笔的描述时,此结构将由GetObject函数使用。

typedef struct tagEXTLOGPEN { // EXLP

UINT elpPenStyle;

UINT elpWidth;

UINT elpBrushStyle;

COLORREF elpColor;

LONG elpHatch;

DWORD elpNumEntries;

DWORD elpStyleEntry[1];

} EXTLOGPEN;

会员

elpPenStyle

指定钢笔类型,样式,端盖样式和连接样式的组合。可以通过使用适当掩码的按位AND来检索每个类别的值。

使用PS_TYPE_MASK屏蔽的elpPenStyle成员具有以下笔类型值之一:

含义
PS_GEOMETRIC笔是几何的。
PS_COSMETIC笔是化妆品。

使用PS_STYLE_MASK屏蔽的elpPenStyle成员具有以下笔样式值之一:

含义
PS_SOLID笔是坚实的
PS_DASH笔被打破了。
PS_DOT笔是点缀的。
PS_DASHDOT笔具有交替的虚线和点。
PS_DASHDOTDOT笔具有交替的虚线和双点。
PS_NULL笔是看不见的。
PS_USERSTYLE笔将使用用户提供的样式阵列。
PS_INSIDEFRAME笔是坚实的当使用该笔在任何GDI绘图功能中使用一个边界矩形时,图形的尺寸将会缩小,从而使其完全符合边框矩形,同时考虑到笔的宽度。这仅适用于PS_GEOMETRIC笔。

以下类别仅适用于PS_GEOMETRIC笔。使用PS_ENDCAP_MASK屏蔽的elpPenStyle成员具有以下端帽值之一:

含义
PS_ENDCAP_ROUND线端盖是圆形的。
PS_ENDCAP_SQUARE线端帽是正方形。
PS_ENDCAP_FLAT线端盖是平的。

以下类别仅适用于PS_GEOMETRIC笔。使用PS_JOIN_STYLE屏蔽的elpPenStyle成员具有以下连接值之一:

含义
PS_JOIN_BEVEL线连接是斜面的。
PS_JOIN_MITER当线路连接在当前的SetMiterLimit限制之内时,它们将被缓和。当连接超过限制时,连接将被倾斜。
PS_JOIN_ROUND线连接是圆的。

Specifies a hatched brush.

指定笔的宽度。如果elpPenStyle成员指定几何线,则该值是该行的逻辑单位宽度。否则,线条是美观的,这个值是1。

elpBrushStyle

指定笔的画笔风格。elpBrushStyle成员值可以是以下之一:

描述
BS_DIBPATTERN指定由设备无关位图(DIB)规范定义的图案画笔。如果elpBrushStyle是BS_DIBPATTERN,则指定一个阴影画笔。成员包含一个打包DIB的句柄。
BS_DIBPATTERNPT指定由设备无关位图(DIB)规范定义的图案画笔。如果elpBrushStyle是BS_DIBPATTERNPT,则指定一个阴影画笔。成员包含指向打包DIB的指针。
BS_HATCHED指定一个阴影画笔。
BS_HOLLOW指定一个空心或空白画笔。
BS_PATTERN指定由内存位图定义的图案画笔。
BS_SOLID指定一个实心的画笔。

45度向上孵化(从左到右)

如果elpBrushStyle为BS_SOLID或BS_HATCHED,则45度向上孵化(从左到右)指定笔绘制的颜色。对于BS_HATCHED,SetBkModeSetBkColor功能确定背景颜色。

如果elpBrushStyle为BS_HOLLOW或BS_PATTERN,45度向上孵化(从左到右)将被忽略。

如果elpBrushStyle是BS_DIBPATTERN或BS_DIBPATTERNPT,45度向上孵化(从左到右)的低位字指定BITMAPINFO结构的bmiColors成员是否包含显式的红色,绿色,蓝色(RGB)值或索引到当前实现的逻辑调色板。45度向上孵化(从左到右)值必须是以下之一:

含义
DIB_PAL_COLORS颜色表由当前实现的逻辑调色板中的16位索引的数组组成。
DIB_RGB_COLORS颜色表包含文字RGB值。

指定一个阴影画笔。

如果elpBrushStyle是BS_PATTERN,指定一个阴影画笔。是定位模式的位图的句柄。

如果elpBrushStyle为BS_SOLID或BS_HOLLOW,指定一个阴影画笔。将被忽略。

如果elpBrushStyle是BS_DIBPATTERN,则指定一个阴影画笔。成员是打包DIB的句柄。要获取此句柄,应用程序将调用GlobalAlloc函数来分配一个全局内存块,然后使用打包的DIB填充内存。一个打包的DIB由BITMAPINFO结构组成,紧随其后的是定义位图像素的字节数组。

如果elpBrushStyle是BS_DIBPATTERNPT,则指定一个阴影画笔。成员是指向打包DIB的指针。

如果elpBrushStyle是BS_HATCHED,则指定一个阴影画笔。成员指定用于创建舱口的线的方向。它可以是以下值之一:

含义
HS_BDIAGONAL45度向上孵化(从左到右)
HS_CROSS水平和垂直十字线
HS_DIAGCROSS45度交叉阴影
HS_FDIAGONAL45度向下孵化(从左到右)
HS_HORIZONTAL水平舱口
HS_VERTICAL垂直孵化

elpNumEntries

指定elpStyleEntry成员中样式数组中的条目数。如果elpPenStyle未指定PS_USERSTYLE,则该值为零。

elpStyleEntry

指定用户提供的样式数组。数组用有限的长度来指定,但是如同它无限期地重复使用一样。数组中的第一个条目指定第一个虚线的长度。第二个条目指定第一个间隙的长度。此后,短划线和间隙的长度交替出现。

如果Specifies a hatched brush.指定几何线,则长度为逻辑单位。否则,线条是化妆品,长度在设备单位。

也可以看看

BITMAPINFO, ExtCreatePen, GetObject, GlobalAlloc, SetBkColor, SetBkMode