Fire Events When Display State Changes Example (VBA)
This example shows how to fire the events related to changing display
states of a configuration in an assembly document.
Module
'---------------------------------------------------------------
' Preconditions:
' (1)
Open an assembly document that has
' a
configuration with multiple display states.
' (2)
Run this macro in debug mode.
' (3)
Change the display state of
' the
active configuration in SolidWorks
' (click
the ConfigurationManager tab and double-click
' a
different display state).
'
' Postcondition: A message box is displayed informing
' you
that the display state is about to
' change.
After the display state changes,
' another
message box is displayed
' informing
you that the display
' state
has changed.
' NOTE: This example
also fires these events when you change
' configurations
in an active assembly document.
'---------------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swAssem As SldWorks.AssemblyDoc
Dim swAssemEvents As Class1
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
'Set up events
Set swAssem = swModel
Set swAssemEvents = New Class1
Set swAssemEvents.swAssem = swApp.ActiveDoc
End Sub
Class Module
Option Explicit
Public WithEvents swAssem As SldWorks.AssemblyDoc
'Send message when user changes display state in the ConfigurationManager
Private Function swAssem_ActiveDisplayStateChangePreNotify()
As Long
MsgBox
"The active configuration's display state is about to change."
End Function
'Send message after user changes display state in the
ConfigurationManager
Private Function swAssem_ActiveDisplayStateChangePostNotify(ByVal
DisplayStateName As String) As Long
MsgBox
"The active configuration's display state has changed."
End Function