CreatePen函数创建一个具有指定样式,宽度和颜色的逻辑笔。笔可以随后被选择到设备上下文中,并用于绘制线条和曲线。
HPEN CreatePen
INT 【fnPenStyle】, | //钢笔风格 |
INT 【nWidth】, | //笔宽 |
COLORREF 【crColor】 | //笔色 |
); |
参数
【fnPenStyle】
指定钢笔风格。它可以是以下值之一:
样式 | 描述 |
PS_SOLID | 笔是坚实的 |
PS_DASH | 笔被打破了。仅当设备单位的笔宽为1或更小时,此样式才有效。 |
PS_DOT | 笔点缀仅当设备单位的笔宽为1或更小时,此样式才有效。 |
PS_DASHDOT | 笔有交替的破折号和点。仅当设备单位的笔宽为1或更小时,此样式才有效。 |
PS_DASHDOTDOT | 笔具有交替的虚线和双点。仅当设备单位的笔宽为1或更小时,此样式才有效。 |
PS_NULL | 笔是看不见的 |
PS_INSIDEFRAME | 笔是坚实的当使用该笔用于采用边界矩形的任何图形设备接口(GDI)绘图功能时,图形的尺寸将缩小,以使其完全符合边框矩形,同时考虑到笔的宽度。这仅适用于几何笔。 |
【nWidth】
以逻辑单位指定笔的宽度。如果【nWidth】为零,则笔是单个像素宽,无论当前的变换如何。
【crColor】
指定笔颜色的颜色参考。
返回值
如果函数成功,则返回值是标识逻辑笔的句柄。
如果函数失败,返回值为NULL。
备注
应用程序创建逻辑笔后,可以通过调用SelectObject函数将该笔选择到设备上下文中。在将笔选择到设备上下文中之后,可以用于绘制线条和曲线。
如果【nWidth】参数指定的值为零,则使用创建的笔绘制的线将始终为单个像素宽,而不考虑当前的变换。
如果【nWidth】指定的值大于1,则【fnPenStyle】参数必须为PS_NULL,PS_SOLID或PS_INSIDEFRAME。
如果【nWidth】指定的值大于1,并且【fnPenStyle】为PS_INSIDEFRAME,则与笔相关联的行将绘制在除多边形和折线之外的所有图元的框架内。
如果【nWidth】指定的值大于1,则【fnPenStyle】为PS_INSIDEFRAME,并且由【crColor】参数指定的颜色与逻辑调色板中的一个条目不匹配,Windows将通过使用抖动颜色绘制线条。固体笔不提供抖动颜色。
当您不再需要笔时,请调用DeleteObject功能将其删除。
也可以看看
CreatePenIndirect, DeleteObject, ExtCreatePen, GetObject, RGB, SelectObject