Change Icon of ClientFeature Node in built-in Browser Pane

By Xiaodong Liang

We have a blog on how to change icon of ClientFeature node in custom browser pane.

http://adndevblog.typepad.com/manufacturing/2012/08/change-the-browser-node-icon.html

The workflow is similar if you want to change icon ClientFeature node in built-in browser pane. The following is a demo. It assumes a part document (with two part features) is opened.

Sub CGInClientFeatureTest()

 <br />Dim oDoc As PartDocument      <br />Set oDoc = ThisApplication.ActiveDocument      <br />&#160; <br /> Dim oDef As PartComponentDefinition      <br /> Set oDef = oDoc.ComponentDefinition      <br />&#160;
<p>‘get first and second features     <br /> Dim oPartFea1 As PartFeature      <br /> Set oPartFea1 = oDef.Features(1)      <br />&#160; <br />&#160; Dim oPartFea2 As PartFeature      <br /> Set oPartFea2 = oDef.Features(2)&#160;&#160;&#160; <br />&#160; <br />'create client feature definition      <br />Dim oClientFeatureDef As ClientFeatureDefinition      <br />Set oClientFeatureDef = oDef.Features.ClientFeatures.CreateDefinition(&quot;ClientFeatureTest&quot;)      <br />&#160; <br />&#160; ‘add the part features to client feature      <br /> oClientFeatureDef.ClientFeatureElements.Add oPartFea1      <br /> oClientFeatureDef.ClientFeatureElements.Add oPartFea2      <br />&#160; <br />'create client feature      <br />Dim oClientFeature As ClientFeature      <br />Set oClientFeature = oDef.Features.ClientFeatures.Add(oClientFeatureDef, &quot;ClientIDString&quot;)</p>  </em>  <p>&#160;</p>  <p>‘get the browser node of the client feature   <br /><em>&#160;&#160;&#160;&#160; Dim oNode As BrowserNode     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Set oNode = oDoc.BrowserPanes(1).GetBrowserNodeFromObject(oClientFeature)      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </em></p>  <p><em>&#160; ‘create the resource of icon. assume a bitmap 1.bmp exists</em><em>&#160; ‘ in c:\temp     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Dim oCnr As ClientNodeResource      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Dim oIcon As IPictureDisp      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Set oIcon = stdole.LoadPicture(&quot;C:\temp\1.bmp&quot;)      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ' Create a client node resource.      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Set oCnr = oDoc.BrowserPanes.ClientNodeResources.Add(&quot;SamplePocketFeature&quot;, -1, oIcon)</em></p>  <p><em>&#160;&#160;&#160;&#160;&#160;&#160;&#160; ' Override the icon for the client feature.     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; oNode.BrowserNodeDefinition.OverrideIcon = oCnr</em></p>  <p><em>&#160; <br />&#160;&#160;&#160;&#160;&#160; ThisApplication.ActiveView.Update      <br />End Sub</em></p>  <p><em></em></p>  <p><em></em><em><a href="http://adndevblog.typepad.com/.a/6a0167607c2431970b01b7c736d2b7970b-pi"><img title="2015-01-15_1412" style="border-top: 0px;border-right: 0px;background-image: none;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;display: inline;padding-right: 0px" border="0" alt="2015-01-15_1412" src="http://blog.autodesk.io/wp-content/uploads/2015/01/mt_imported_image_1759224717-1.jpg" width="206" height="304" /></a></em>

Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading