Shape.DrawPolyline 方法 (Visio)

创建一个形状,其路径为沿着一组给定点的折线。

语法

expressionDrawPolyline( _xyArray()_ , _Flags_ )

表达 一个代表 Shape 对象的变量。

参数

名称 必需/可选 数据类型 说明
xyArray () 必需 Double 一个交替出现 xy 值的数组,这些值定义新建形状路径中的点。
Flags 必需 Integer 影响形状绘制方式的标志。

返回值

Shape

说明

DrawPolyline 方法创建一个新建形状,其路径由线段序列组成且端点与 xyArray 中指定的点相匹配。 调用 DrawPolyline 方法等效于在公差为零 (0) 且标志为 visSplineAbrupt 时调用 DrawSpline 方法。

控制点应该使用在其中创建新建形状的页面、主控形状或组的坐标空间的内部绘图单位(英寸)。 传递的数组应该是 SAFEARRAY 类型的由引用 (VT_R8|VT_ARRAY|VT_BYREF) 传递的 8 字节浮点值。 这是 Microsoft Visual Basic 向自动对象传递数组的方式。

Flags 参数是一个位掩码,指定用于绘制新建形状的选项。 其值可以包括 visPolyline1D (8) 或 visPolyarcs (256) 。 如果 Flags 包括:

  • visPolyline1D ,如果 xyArray 中的第一个点和最后一个点不一致, 则 DrawPolyline 方法将生成具有一维 (1D) 行为的形状;否则,它将生成具有二维 (二维) 行为的形状。

  • visPolyarcs,则 Microsoft Visio 生成弧序列而不是线段序列;xyArray 应该指定该序列的初始 x,y 点然后指定 x,y 三重弓形。 Visio 将使用弧弓度与指定值相匹配的 EllipticalArcTo 行生成一个形状。

如果 xyArray 中的第一个点和最后一个点重合,则 DrawPolyline 方法生成一个填充形状。

示例

以下示例演示如何在活动页上绘制两个分别具有 2D 和 1D 行为的折线形状。

 
Public Sub DrawPolyline_Example() 
 
 Dim vsoShape As Visio.Shape 
 Dim adblXYPoints(1 To 8) As Double 
 Dim intCounter As Integer 
 
 'Initialize array with coordinates. 
 adblXYPoints(1) = 1 
 adblXYPoints(2) = 1 
 adblXYPoints(3) = 3 
 adblXYPoints(4) = 3 
 adblXYPoints(5) = 5 
 adblXYPoints(6) = 1 
 adblXYPoints(7) = 1 
 adblXYPoints(8) = 2 
 
 'Use the DrawPolyline method to draw a shape that has 2D behavior. 
 Set vsoShape = ActivePage.DrawPolyline(adblXYPoints, 0) 
 
 'Increase the Y-coordinate of the array by 4 to separate 
 'the next shape drawn from the first. 
 For intCounter = 2 To UBound(adblXYPoints) Step 2 
 adblXYPoints(intCounter) = adblXYPoints(intCounter) + 4 
 Next intCounter 
 
 'Use the DrawPolyline method to draw a shape that has 1D behavior. 
 Set vsoShape = ActivePage.DrawPolyline(adblXYPoints, visPolyline1D) 
 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。