Метод Shape.DrawPolyline (Visio)
Создает фигуру, путь которой является полилиной вдоль заданного набора точек.
Синтаксис
выражение. DrawPolyline
( _xyArray()_
, _Flags_
)
Выражение Переменная, представляющая объект Shape .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
xyArray() | Обязательный | Double | Массив чередующихся значений x и y , определяющий точки в пути новой фигуры. |
Flags | Обязательный | Integer | Флаги, влияющие на то, как рисуется фигура. |
Возвращаемое значение
Shape
Примечания
Метод DrawPolyline создает новую фигуру, путь которой состоит из последовательности сегментов линий и конечные точки которой соответствуют точкам, указанным в xyArray. Вызов метода DrawPolyline эквивалентен вызову метода DrawSpline с погрешностью нуля (0) и флагом visSplineAbrupt.
Контрольные точки должны находиться во внутренних единицах рисования (дюймах) по отношению к координатам страницы, образца или группы, в которой создается новая фигура. Переданный массив должен быть типом SAFEARRAY из 8-байтовых значений с плавающей запятой, передаваемых по ссылке (VT_R8| VT_ARRAY| VT_BYREF). Таким образом Microsoft Visual Basic передает массивы в объекты службы автоматизации.
Аргумент Flags — это битовая маска, указывающая параметры для рисования новой фигуры. Его значение может включать visPolyline1D (8) или visPolyarcs (256). Если флаги включают:
visPolyline1D и если первая и последняя точки в xyArray не совпадают, метод DrawPolyline создает фигуру с одномерным (1D) поведением; В противном случае создается фигура с двумерным (2D) поведением.
visPolyarcs, Microsoft Visio создаст последовательность дуг, а не последовательность сегментов линий; xyArray должен указать начальную точку x,y последовательности, за которой следует тройной элемент x,y bow. 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 и обратная связь.