Add ActiveX Tab to FeatureManager Design Tree (C#)
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. Reference Microsoft Calendar Control's ActiveX control
// file (click Project > Add Reference > Browse tab).
// b. Browse to:
// c:\Program Files\Microsoft Office\Office12\MSCAL.OCX
// and click OK.
// 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.
//----------------------------------------------------------
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using MSACAL;
namespace
AddTabFeatureManagerDesignTreeCSharp.csproj
{
partial
class
SolidWorksMacro
{
public
void Main()
{
const
string iconSmall =
"C:\\Program Files\\SolidWorks
Corp\\SolidWorks\\data\\user macro icons\\button.bmp";
ModelDoc2 swModel = default(ModelDoc2);
ModelViewManager swModViewMgr = default(ModelViewManager);
FeatMgrView swFeatMgrTabBtm = default(FeatMgrView);
MSACAL.Calendar ctrlBtm = default(MSACAL.Calendar);
string fileName
= null;
int errors = 0;
int warnings =
0;
int activePane
= 0;
fileName = "c:\\Program
Files\\SolidWorks Corp\\SolidWorks\\samples\\tutorial\\fillets\\knob.sldprt";
swModel = (ModelDoc2)swApp.OpenDoc6(fileName, (int)swDocumentTypes_e.swDocPART,
(int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"",
ref errors,
ref warnings);
swModViewMgr = (ModelViewManager)swModel.ModelViewManager;
// Create new tab
swFeatMgrTabBtm =
(FeatMgrView)swModViewMgr.CreateFeatureMgrControl2(iconSmall,
"MSCAL.Calendar",
"",
"Tab ToolTip", (int)swFeatMgrPane_e.swFeatMgrPaneBottom);
ctrlBtm = (MSACAL.Calendar)swFeatMgrTabBtm.GetControl();
ctrlBtm.BackColor = 255;
//red
activePane = swFeatMgrTabBtm.ActivateView();
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}