Split FeatureManager Design Tree and Position Splitter (VBA)
This example shows how:
* to split a FeatureManager design tree.
* add a tab to one of the FeatureManager design trees.
* change the location of the split panel bar (splitter).
'----------------------------------------------------------
' Preconditions:
' 1. In the IDE:
' a. Insert Microsoft Calendar Control 2007
' (click Insert > Components > Microsoft Calendar
' Control 2007).
' b. Reference Microsoft Calendar Control 2007's ActiveX
' control file (click Tools > References > Browse button,
' and browse to
' c:\Program Files\Microsoft Office\Office12\MSCAL.OCX
' and click OK.
' 2. Specified part document and bitmap exist.
'
' Postconditions:
' 1. FeatureManager design tree is split, and the splitter is
' below the FeatureManager design tree to which the
' tab was added. Drag the splitter to verify.
' 2. Interactively close the part document.
' 3. Interactively set test to 1 in the macro.
' 4. Rerun the macro.
' 5. FeatureManager design tree is split, and the splitter is
' above the FeatureManager design tree to which the
' tab was added. Drag the splitter to verify.
'
' NOTE: Because the part document is used elsewhere,
' do not save any changes when closing it.
'----------------------------------------------------------
Option Explicit
Sub main()
Const iconSmall As String = "C:\Program Files\SolidWorks Corp\SolidWorks\data\user macro icons\button.bmp"
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModViewMgr As SldWorks.ModelViewManager
Dim swFeatMgrTabTop As SldWorks.FeatMgrView
Dim swFeatMgrTabBtm As SldWorks.FeatMgrView
Dim ctrlTop As MSACAL.Calendar
Dim ctrlBtm As MSACAL.Calendar
Dim fileName As String
Dim errors As Long
Dim warnings As Long
Dim activePane As Long
Dim test As Long
Set swApp = CreateObject("SldWorks.Application")
fileName = "c:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\fillets\knob.sldprt"
Set swModel = swApp.OpenDoc6(fileName, swDocPART, swOpenDocOptions_Silent, "", errors, warnings)
Set swModViewMgr = swModel.ModelViewManager
test = 0
If test = 0 Then
' FeatureManager design tree is split, and the splitter is
' below the FeatureManager design tree to which the
' tab was added
Set swFeatMgrTabTop = swModViewMgr.CreateFeatureMgrControl2(iconSmall, "MSCAL.Calendar", "", "Top tab ToolTip", swFeatMgrPaneTop)
Set ctrlTop = swFeatMgrTabTop.GetControl
swModel.FeatureManagerSplitterPosition = 0#
activePane = swFeatMgrTabTop.ActivateView
Else
' FeatureManager design tree is split, and the splitter is
' above the FeatureManager design tree to which the
' tab was added
Set swFeatMgrTabBtm = swModViewMgr.CreateFeatureMgrControl2(iconSmall, "MSCAL.Calendar", "", "Bottom tab ToolTip", swFeatMgrPaneBottom)
Set ctrlBtm = swFeatMgrTabBtm.GetControl
swModel.FeatureManagerSplitterPosition = 1#
activePane = swFeatMgrTabBtm.ActivateView
End If
End Sub