Поделиться через


Метод Shape.Drop (Visio)

Создает один или несколько новых объектов Shape путем перетаскивания объекта на принимающий объект, например на главный объект, страницу документа, фигуру или группу.

Синтаксис

expression. Drop (ObjectToDrop, xPos, yPos)

Выражение Переменная, представляющая объект Shape .

Параметры

Имя Обязательный или необязательный Тип данных Описание
ObjectToDrop Обязательный [НЕИЗВЕСТНО] Объект или выделение для удаления. Хотя обычно это объект Visio, например Master, Shape или Selection , это может быть любой объект OLE, предоставляющий интерфейс IDataObject .
xPos Обязательный Double Координата X, в которой размещается центр ширины фигуры или PinX.
yPos Обязательный Double Координата Y, в которой размещается центр высоты фигуры или PinY.

Возвращаемое значение

Shape

Примечания

Использование метода Drop аналогично перемещению фигуры с помощью мыши. Удаленный объект ( ObjectToDrop) может быть главным объектом или фигурой на странице документа.

Чтобы добавить фигуру в группу или на страницу документа, примените метод Drop к объекту Shape . Центр прямоугольника по ширине и высоте фигуры располагается в указанных координатах, и возвращается объект Shape , представляющий созданную фигуру. При применении этого метода к объекту Shape убедитесь, что объект Shape представляет группу.

Если ObjectToDrop является главным, закрепление образца сбрасывается с заданных координат. Булавка мастера часто, но не обязательно, находится в центре вращения.

Пример

В следующем примере показано, как использовать метод Drop для перетаскивания фигур на объекты Page и Shape .

 
Public Sub Drop_Example() 
 
 Dim vsoShape1 As Visio.Shape 
 Dim vsoShape2 As Visio.Shape 
 Dim vsoShape3 As Visio.Shape 
 Dim vsoGroupShape As Visio.Shape 
 Dim vsoSubShape As Visio.Shape 
 Dim vsoSelection As Visio.Selection 
 
 Set vsoShape1 = ActivePage.DrawRectangle(1, 2, 2, 1) 
 Set vsoShape2 = ActivePage.DrawRectangle(1, 4, 2, 3) 
 
 'Drop a shape on the page. 
 Set vsoShape3 = ActivePage.Drop(vsoShape1, 3.5, 3.5) 
 
 'Make sure only one shape is selected to start. 
 Set vsoSelection = ActiveWindow.Selection 
 vsoSelection.Select vsoShape1, visDeselectAll + visSelect 
 vsoSelection.Select vsoShape2, visSelect 
 
 'Create a group shape. 
 Set vsoGroupShape = vsoSelection.Group 
 
 'Drop a shape on the group shape to create a new subshape. 
 Set vsoSubShape = vsoGroupShape.Drop(vsoShape3, 1, 2) 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.