CDC::PolyDraw

BOOL PolyDraw(const POINT* lpPoints,const BYTE* lpTypes,int nCount);

返回值:如果成功,则返回非零值,否则为0。

参数:
lpPoint指向POINT数据结构或CPoint对象的指针。数组中含有每条线段的终点和Bezier曲线的控制点和终点。
lpTypes说明lpPoint数组中各点如何使用数组的指针。可为下列值之一:
PT_MOVETO由该点开始一个断开连接的图形,该点变成新的当前位置。
PT_LINETO从当前位置到该点绘制直线,然后该点变成新的当前位置。
PT_BEZIERTO为Bezier曲线指定控制点或终点。PT_BEZIERTO类型总是三个点一组出现。当前位置作为Bezier曲线的起始点。前两个PT_BEZIERTO点作为控制点,第三点作为终点,并成为新的当前位置。如果没有三个连续的PT_BEZIERTO点,则出现错误。PT_LINETO和PT_BEZIERTO类型可以使用位运算符OR加以联合,表明相应点为图形的最后一点,且图形是闭合的。
PT_CLOSEFIGURE具有PT_LINETO或PT_BEZIERTO类型的点经绘制完成后,图形自动闭合。绘制一条从该点到最近一次使用的PT_MOVETO后MoveTo点的直线。使用位运算符OR,该标志与PT_LINETO类型一起用于一条直线,或与PT_BEZIERTO类型的终点一起用于Bezier曲线。将闭合直线的终点改为当前位置。

nCountlpPoint数组的点的总数,与lpTypes数组中的字节数相同。

说明:
绘制一组线段和Bezier锯齿线。此函数可用来绘制分离的图画,而不用连续调用CDC::MoveTo,CDC::LineTo和CDC::PolyBezierTo成员函数。线段和Bezier锯齿线用当前画笔绘制,并且不填充图画。如果通过调用CDC::BeginPath启动一条活动路径,那么PolyDraw将加入此路径中。lpPoints数组和lpTypes中包含的点表明是否每一个点是CDC::MoveTo,CDC::LineTo或CDC::BezierTo操作的一部分。也可以关闭图画。此函数将更新当前位置。

请参阅:
CDC::BeginPath, CDC::EndPath, CDC::LineTo, CDC::MoveTo, CDC::PolyBezierTo, CDC::PolyLine, ::PolyDraw