Creates one or more new
Shape
objects by dropping an object onto a receiving object such as a master, drawing page, shape, or group.
Version Information
Version Added: Visio 2.0
Syntax
expression.Drop(ObjectToDrop, xPos, yPos)
expression A variable that represents a Page object.
Parameters
| Name | Required/Optional | Data Type | Description |
|---|
| ObjectToDrop | Required | [UNKNOWN] | The object or selection to drop. While this is typically a Visio object such as a Master, Shape, or Selection object, it can be any OLE object that provides an IDataObject interface. |
| xPos | Required | Double | The x-coordinate at which to place the center of the shape's width or PinX. |
| yPos | Required | Double | The y-coordinate at which to place the center of the shape's height or PinY. |
Return Value
Shape
Remarks
Using the Drop method is similar to moving a shape with the mouse. The object dropped (ObjectToDrop) can be a master or a shape on the drawing page.
To add a shape to a group or on a drawing page, apply the Drop method to a Shape or Page object, respectively. The center of the shape's width-height box is positioned at the specified coordinates, and a Shape object that represents the shape that is created is returned. When applying this method to a Shape object, make sure that the Shape object represents a group.
If ObjectToDrop is a Master, the pin of the master is dropped at the specified coordinates. A master's pin is often, but not necessarily, at its center of rotation.
Example
The following example shows how to use the Drop method to drop shapes onto Page and Shape objects.
| Visual Basic for Applications |
|---|
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
|