Add ActiveX Tab to FeatureManager Design Tree (VBA)
This example shows how to add a tab to the FeatureManager design tree, using
an on-disk bitmap file for the tab's icon.
'----------------------------------------------------------
' 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,
' browse to c:\Program Files\Microsoft Office\Office12,
' and select MSCAL.OCX).
' 2. Specified part document and bitmap exist.
'
' Postconditions:
' 1. A new tab is added to the FeatureManager design tree
' with a Microsoft Calendar Control background of red.
'
' NOTE: To add a tab to the FeatureManager tree,
' you must set IModelViewManager::CreateFeatureMgrControl2's
' WhichPane parameter to swFeatMgrPane_e.swFeatMgrPaneBottom.
'
' 2. The new tab is active.
' 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 swFeatMgrTabBtm As SldWorks.FeatMgrView
Dim ctrlBtm As MSACAL.Calendar
Dim fileName As String
Dim errors As Long
Dim warnings As Long
Dim activePane 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
' Create new tab
Set swFeatMgrTabBtm = swModViewMgr.CreateFeatureMgrControl2(iconSmall, "MSCAL.Calendar", "", "Tab ToolTip", swFeatMgrPaneBottom)
Set ctrlBtm = swFeatMgrTabBtm.GetControl
ctrlBtm.BackColor = 255 ' red
activePane = swFeatMgrTabBtm.ActivateView
End Sub