Window.SetWindowRect method (Visio)
Sets the size and position of the client area of a window.
Syntax
expression. SetWindowRect
( _nLeft_
, _nTop_
, _nWidth_
, _nHeight_
)
expression A variable that represents a Window object.
Parameters
Name | Required/Optional | Data type | Description |
---|---|---|---|
nLeft | Required | Long | The coordinate of the left side of the window. |
nTop | Required | Long | The coordinate of the top of the window. |
nWidth | Required | Long | The distance in pixels from the left side to the right side of the window. |
nHeight | Required | Long | The distance in pixels from the top to the bottom of the window. |
Return value
Nothing
Remarks
The SetWindowRect method sets the size and position of the client area of the window with respect to the window that owns the Windows collection to which it belongs. For the Windows collection of an Application object, the "with respect to" window is the MDICLIENT window of the Visio main window. For the Windows collection of a Window object, the "with respect to" window is the client area of the drawing window.
SetWindowRect has no effect when the window is docked.
Example
The following example shows how to use the SetWindowRect method to set the size and position of a Window object. It opens the Pan & Zoom window and prints the window's coordinates, width, and height in the Immediate window. It then uses SetWindowRect to change the height of the window, and prints the new values.
Public Sub SetWindowRect_Example()
Dim vsoApplication As Visio.Application
Dim vsoPZWindow As Visio.Window
Dim pinLeft As Long, pinTop As Long, pinWidth As Long, pinHeight As Long
Set vsoApplication = Visio.Application
'Display the Pan & Zoom window
Set vsoPZWindow = vsoApplication.ActiveWindow.Windows.ItemFromID(visWinIDPanZoom)
vsoPZWindow.Visible = True
'Get the existing window size and position
vsoPZWindow.GetWindowRect pinLeft, pinTop, pinWidth, pinHeight
Debug.Print pinLeft, pinTop, pinWidth, pinHeight
'Change the window height and get the new values
vsoPZWindow.SetWindowRect pinLeft, pinTop, pinWidth, pinHeight + 50
vsoPZWindow.GetWindowRect pinLeft, pinTop, pinWidth, pinHeight
Debug.Print pinLeft, pinTop, pinWidth, pinHeight
End Sub
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.