createPen 函数 (wingdi.h)
CreatePen 函数创建具有指定样式、宽度和颜色的逻辑笔。 笔随后可以选择到设备上下文中,并用于绘制线条和曲线。
语法
HPEN CreatePen(
[in] int iStyle,
[in] int cWidth,
[in] COLORREF color
);
参数
[in] iStyle
笔样式。 它可以是以下任意一个值。
[in] cWidth
笔的宽度(以逻辑单位为单位)。 如果 nWidth 为零,则无论当前转换如何,笔都是一个像素宽。
如果为以下样式指定宽度大于 1 的宽度,CreatePen 将返回具有指定宽度但具有PS_SOLID样式的笔:PS_DASH、PS_DOT、PS_DASHDOT PS_DASHDOTDOT。
[in] color
笔颜色的颜色参考。 若要生成 COLORREF 结构,请使用 RGB 宏。
返回值
如果函数成功,则返回值是标识逻辑笔的句柄。
如果函数失败,则返回值为 NULL。
注解
应用程序创建逻辑笔后,可以通过调用 SelectObject 函数将该笔选择到设备上下文中。 将笔选入设备上下文后,可用于绘制线条和曲线。
如果 nWidth 参数指定的值为零,则无论当前转换如何,使用创建的笔绘制的线条始终为单个像素宽。
如果 nWidth 指定的值大于 1,则 fnPenStyle 参数必须是PS_NULL、PS_SOLID或PS_INSIDEFRAME。
如果 nWidth 指定的值大于 1 且 fnPenStyle PS_INSIDEFRAME,则与笔关联的线条将绘制在所有基元(多边形和折线除外)的框架内。
如果 nWidth 指定的值大于 1,则 fnPenStyle 为PS_INSIDEFRAME,并且 crColor 参数指定的颜色与逻辑调色板中的某个条目不匹配,则系统会使用抖动的颜色绘制线条。 抖变颜色不适用于纯色笔。
使用PS_DASH、PS_DOT、PS_DASHDOT或PS_DASHDOTDOT 的 iStyle 参数时,为了使短划线或点之间的间隔透明,请使用 SetBkMode 将模式设置为 TRANSPARENT。
如果不再需要触控笔,请调用 DeleteObject 函数将其删除。
Icm: 创建时不执行颜色管理。 但是,当将笔选入启用了 ICM 的设备上下文时,将执行颜色管理。
示例
有关示例,请参阅 创建彩色笔和画笔。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |
另请参阅
GetObject