Get and Set Windows Values Example (VB.NET)
This example shows how to get and set various DraftSight application and document window
values.
'--------------------------------------------------------------
' Preconditions:
' 1. Create a VB.NET Windows console project.
' 2. Copy and paste this project into the VB.NET IDE.
' 3. Add a reference to
' install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll
' 4. Start DraftSight.
' 5. Open the Immediate window.
' 6. Press F5.
'
' Postconditions:
' 1. Document window is minimized.
' 2. Examine the Immediate window where
' the application and document window handle values,
' visibility values, window states, and frame and
' geometry positions and sizes are printed.
' 3. Interactively maximize the document window in DraftSight.
'----------------------------------------------------------------
Imports System.IO
Imports DraftSight.Interop.dsAutomation
Module Module1
Dim dsApp As Application
Dim dsDoc As Document
Dim dsAppWindow As DraftSight.Interop.dsAutomation.DSWindow
Dim dsDocWindow As DraftSight.Interop.dsAutomation.DSWindow
Sub Main()
'Connect to DraftSight
dsApp = GetObject(, "DraftSight.Application")
'Abort any command currently running in DraftSight
'to avoid nested commands
dsApp.AbortRunningCommand()
'Get application's window handle, visibility, and state
Debug.Print("Application window using Application object:")
Debug.Print(" Window handle: " & dsApp.GetHWND)
Debug.Print(" Visible: " & dsApp.Visible)
Debug.Print(" State: " & dsApp.WindowState)
Debug.Print("")
'Get active document
dsDoc = dsApp.GetActiveDocument()
If Not dsDoc Is Nothing Then
' Get application's window handle, visibility, and state
Debug.Print("Application window using DSWindow object:")
dsAppWindow = dsApp.GetMainWindow()
Dim windowHandle As Integer
dsAppWindow.GetHWND(windowHandle)
Debug.Print(" Window handle: " & windowHandle)
Debug.Print(" Visible " & dsAppWindow.Visible)
Debug.Print(" State: " & dsAppWindow.WindowState)
Dim x As Integer
Dim y As Integer
' Get application's frame and geometry positions and sizes
dsAppWindow.GetFramePosition(x, y)
Debug.Print(" Frame position: " & x & ", " & y)
dsAppWindow.GetFrameSize(x, y)
Debug.Print(" Frame size: " & x & ", " & y)
dsAppWindow.GetGeometryPosition(x, y)
Debug.Print(" Geometry position: " & x & ", " & y)
dsAppWindow.GetGeometrySize(x, y)
Debug.Print(" Geometry size: " & x & ", " & y)
Debug.Print(" ")
' Get document's window handle, visibility, state,
' frame and geometry positions and sizes
Debug.Print("Document window using DSWindow object before minimizing window:")
dsDocWindow = dsDoc.GetWindow()
dsDocWindow.GetHWND(windowHandle)
Debug.Print(" Window handle: " & windowHandle)
Debug.Print(" Visible " & dsDocWindow.Visible)
Debug.Print(" State: " & dsDocWindow.WindowState)
dsDocWindow.GetFramePosition(x, y)
Debug.Print(" Frame position: " & x & ", " & y)
dsDocWindow.GetFrameSize(x, y)
Debug.Print(" Frame size: " & x & ", " & y)
dsDocWindow.GetGeometryPosition(x, y)
Debug.Print(" Geometry position: " & x & ", " & y)
dsDocWindow.GetGeometrySize(x, y)
Debug.Print(" Geometry size: " & x & ", " & y)
'Minimize Document window
dsDocWindow.WindowState = 0
Debug.Print("")
' Get document's window handle, visibility, state,
' frame and geometry positions and sizes after minimizing
' window
Debug.Print("Document window using DSWindow object after minimizing the window:")
dsDocWindow = dsDoc.GetWindow()
dsDocWindow.GetHWND(windowHandle)
Debug.Print(" Window handle: " & windowHandle)
Debug.Print(" Visible " & dsDocWindow.Visible)
Debug.Print(" State: " & dsDocWindow.WindowState)
dsDocWindow.GetFramePosition(x, y)
Debug.Print(" Frame position: " & x & ", " & y)
dsDocWindow.GetFrameSize(x, y)
Debug.Print(" Frame size: " & x & ", " & y)
dsDocWindow.GetGeometryPosition(x, y)
Debug.Print(" Geometry position: " & x & ", " & y)
dsDocWindow.GetGeometrySize(x, y)
Debug.Print(" Geometry size: " & x & ", " & y)
Else
MsgBox("There are no open documents in DraftSight.")
End If
End Sub
End Module