次の方法で共有


Shape.DrawPolyline メソッド (Visio)

指定した複数のポイントに沿ったポリラインとして表されるパスによって、図形を作成します。

構文

expression. DrawPolyline( _xyArray()_ , _Flags_ )

Shape オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
xyArray() 必須 Double 新しい図形のパス内のポイントを定義する xy の値が交互に表された配列です。
Flags 必須 Integer 図形の描画方法を制御するフラグです。

戻り値

Shape

注釈

DrawPolyline メソッドでは、連続した線分で構成されるパス、および xyArray に指定したポイントと一致する終点によって、新しい図形が作成されます。 DrawPolyline メソッドの呼び出しは、許容誤差がゼロ (0) で、フラグに visSplineAbrupt を指定して DrawSpline メソッドを呼び出す場合と同じです。

コントロール ポイントは内部図面単位 (インチ) で表し、新しい図形を作成するページ、マスター シェイプ、またはグループの座標空間を基準とします。 渡される配列の種類は、参照渡しで SAFEARRAY 型の 8 バイト浮動小数点値にする必要があります (VT_R8|VT_ARRAY|VT_BYREF)。 Microsoft Visual Basic では、この方法で Automation オブジェクトに配列を渡します。

引数 Flags は、新しい図形を描画するときのオプションを指定するビットマスクです。 その値には、 visPolyline1D (8) または visPolyarcs (256) を含めることができます。 Flags に指定する値によって、次のようになります。

  • visPolyline1DxyArray の最初と最後の点が一致しない場合、 DrawPolyline メソッドは 1 次元 (1D) の動作を持つ図形を生成します。それ以外の場合は、2 次元 (2D) の動作を持つ図形が生成されます。

  • visPolyarcs を指定した場合、連続した線分ではなく連続した円弧が作成されるため、xyArray には、連続する円弧の最初のポイントを示す x,y を指定し、その後に曲線部分を示す x,y を 3 つ指定します。 これにより、円弧の曲線部分が指定した値と一致する [EllipticalArcTo] 行を持つ図形が作成されます。

xyArray の最初のポイントと最後のポイントが一致する場合、DrawPolyline メソッドによって、塗りつぶされた図形が生成されます。

次の例は、アクティブなページで、それぞれ 2D と 1D の動作を持つ 2 つのポリライン図形を描画する方法を示しています。

 
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 のサポートおよびフィードバックを参照してください。