CPen::CPen
构造 CPen 对象。
CPen( );
CPen(
int nPenStyle,
int nWidth,
COLORREF crColor
);
CPen(
int nPenStyle,
int nWidth,
const LOGBRUSH* pLogBrush,
int nStyleCount = 0,
const DWORD* lpStyle = NULL
);
参数
nPenStyle
指定钢笔的样式。 在构造函数的第一个版本的此参数可以是下列值之一:PS_SOLID 创建实心钢笔。
PS_DASH 创建一个虚线钢笔。 有效,仅当钢笔的宽度为1或更小,在组件度量单位。
PS_DOT 创建一个虚线钢笔的。 有效,仅当钢笔的宽度为1或更小,在组件度量单位。
PS_DASHDOT 使用交替短划线和点创建一个钢笔。 有效,仅当钢笔的宽度为1或更小,在组件度量单位。
PS_DASHDOTDOT 使用交替短划线和double点创建一个钢笔。 有效,仅当钢笔的宽度为1或更小,在组件度量单位。
PS_NULL 创建一个空钢笔。
PS_INSIDEFRAME 创建例如绘制在Windows GDI输出功能生成的闭合的形状内部帧的一行指定一个边框的一个笔(,Ellipse、 Rectangle、 RoundRect、 Pie和 Chord 成员函数)。 在此样式使用Windows GDI未指定一个边框的输出功能(例如,LineTo 成员函数),钢笔的绘图区未由帧限制。
CPen 构造函数的第二个版本指定类型,样式,终止线帽的组合,并连接属性。 应按位组合可以使用或运算符,从每个类别的值(|)。 钢笔类型可为下列值之一:
PS_GEOMETRIC 创建一个几何图形钢笔。
PS_COSMETIC 创建一个装饰性的钢笔。
CPen 构造函数的第二个版本添加 nPenStyle的以下钢笔样式:
PS_ALTERNATE 创建设置其他像素的一个钢笔。 (此样式为装饰性的笔只适用)。
PS_USERSTYLE 创建使用用户提供的一个样式数组的一个钢笔。
终止线帽可为下列值之一:
PS_ENDCAP_ROUND 终止线是圆形的。
PS_ENDCAP_SQUARE 终止线是正方形。
PS_ENDCAP_FLAT 终止线保持不变。
连接可为下列值之一:
PS_JOIN_BEVEL Joins为、。
并在 SetMiterLimit 函数时,设置的当前限制内PS_JOIN_MITER Joins是斜接。 如果连接超出此限制,其转换为、。
PS_JOIN_ROUND Joins是圆形的。
nWidth
指定钢笔的宽度。对于构造函数的第一个版本,因此,如果该值为0,无论该映射模式,如组件单位的宽度始终为1像素。
对于构造函数的第二个版本,因此,如果 nPenStyle 是 PS_GEOMETRIC,该宽度(以逻辑单位给定。 如果 nPenStyle 是 PS_COSMETIC,必须将宽度为1。
crColor
包含钢笔的一个RGB颜色。pLogBrush
指向 LOGBRUSH 结构。 如果 nPenStyle 是 PS_COSMETIC,LOGBRUSH 结构的 lbColor 成员指定钢笔的颜色,并 LOGBRUSH 结构的 lbStyle 成员必须设置为 BS_SOLID。 如果 nPenStyle 是 PS_GEOMETRIC,所有成员必须使用指定钢笔的brush属性。nStyleCount
在双字单元测试指定该长度,lpStyle 数组。 如果 nPenStyle 不是 PS_USERSTYLE,此值必须为零。lpStyle
指向双字值。 第一个值在用户定义的样式指定第一个短划线的长度,第二个值指定第一个间距的长度,依此类推。 如果 nPenStyle 不是 PS_USERSTYLE,该指针必须是 NULL。
备注
如果使用构造函数没有参数,必须初始化 CreatePen,CreatePenIndirect的结果 CPen 对象,或者 CreateStockObject 成员函数。
如果使用接受参数的构造函数,则进一步初始化并不是必需的。 带参数的构造函数可以引发异常,如果遇到错误,则,而无参数的构造函数将总是成功。
示例
// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));
// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);
要求
Header: afxwin.h