1 Reply Latest reply on Jun 14, 2015 10:56 AM by Gregor Vitz

    Vb.Addin Missing icons in menu! Why???

    roberto gennari

      Hallo

      I have a problem with icons in my Addin, they are missing in menu, like in the attached image.

       

      This is my addin code (it is standard):

       

       

       

       

       

      #Region"UI Methods"

       

      Sub AddCommandMgr()

       

              Dim mdGroup As ICommandGroup

       

            If iBm Is Nothing Then

                  iBmp = New BitmapHandler()

            End If

      Dim thisAssembly As Assembly

       

              Dim cmdIndex0 As Integer,cmdIndex1 As Integer

              Dim Title As String= "wizard"

              Dim ToolTip As String= "wizard"

       

      Dim docTypes() As Integer = {swDocumentTypes_e.swDocASSEMBLY, _

                                             swDocumentTypes_e.swDocDRAWING, _

                                             swDocumentTypes_e.swDocPART}

       

              thisAssembly = System.Reflection.Assembly.GetAssembly(Me.GetType())

       

              Dim cmdGroupErr As Integer= 0

              Dim ignorePrevious As Boolean= False

       

      Dim registryIDs As Object= Nothing

              Dim getDataResult As Boolean = iCmdMgr.GetGroupDataFromRegistry(mainCmdGroupID, registryIDs)

      Dim knownIDs As Integer() = New Integer(1){mainItemID1, mainItemID2}

       

              If getDataResult Then

                  If Not CompareIDs(registryIDs, knownIDs) Then 'if the IDs don't
      match, reset the commandGroup

                      ignorePrevious = True

                  End If

              End If

       

              cmdGroup =iCmdMgr.CreateCommandGroup2(mainCmdGroupID, Title, ToolTip, "", -1, ignorePrevious, cmdGroupErr)

              If cmdGroup Is Nothing Or thisAssembly Is Nothing Then

                       Throw New NullReferenceException()

              End If

       

       

       

      cmdGroup.LargeIconList = iBmp.CreateFileFromResourceBitmap("SwTools Sketch wizard.Toolbar_large.bmp", thisAssembly)

       

       

      cmdGroup.SmallIconList = iBmp.CreateFileFromResourceBitmap("SwTools Sketch wizard.Toolbar_small.bmp", thisAssembly)

       

       

      cmdGroup.LargeMainIcon = iBmp.CreateFileFromResourceBitmap("SwTools Sketch wizard.MainIconLarge.bmp", thisAssembly)

       

       

      cmdGroup.SmallMainIcon = iBmp.CreateFileFromResourceBitmap("SwTools Sketch wizard.MainIconSmall.bmp", thisAssembly)

       

       

      Dim menuToolbarOption As Integer = swCommandItemType_e.swMenuItem Or swCommandItemType_e.swToolbarItem

       

       

      cmdIndex0 = cmdGroup.AddCommandItem2("CreateCube", -1, "Create a cube", "Create cube", 0, "CreateCube", "", mainItemID1, menuToolbarOption)

       

       

      cmdIndex1 = cmdGroup.AddCommandItem2("Show PMP", -1, "Display sample property manager", "Show PMP", 2, "ShowPMP", "PMPEnable", mainItemID2, menuToolbarOption)

       

            cmdGroup.HasToolbar = True

            cmdGroup.HasMenu = True

                  cmdGroup.Activate()

       

              Dim flyGroup As FlyoutGroup

              flyGroup =iCmdMgr.CreateFlyoutGroup(flyoutGroupID, "Dynamic Flyout", "Flyout Tooltip","Flyout Hint", cmdGroup.SmallMainIcon,
      cmdGroup.LargeMainIcon, cmdGroup.SmallIconList, cmdGroup.LargeIconList, "FlyoutCallback", "FlyoutEnable")

       

              flyGroup.AddCommandItem("FlyoutCommand 1", "test", 0, "FlyoutCommandItem1","FlyoutEnableCommandItem1")

              flyGroup.FlyoutType = swCommandFlyoutStyle_e.swCommandFlyoutStyle_Simple

       

              For Each docType As Integer In docTypes

                  Dim cmdTab As ICommandTab= iCmdMgr.GetCommandTab(docType, Title)

                  Dim bResult As Boolean

       

                  If Not cmdTab Is Nothing And Not getDataResult Or ignorePrevious Then 'if
      tab exists, but we have ignored the registry info, re-create the tab.  Otherwise the ids won't matchup and the tab
      will be blank

                      Dim res As Boolean= iCmdMgr.RemoveCommandTab(cmdTab)

                                     cmdTab = Nothing

                   End If

       

                  If cmdTab Is Nothing Then

                      cmdTab = iCmdMgr.AddCommandTab(docType, Title)

       

                      Dim cmdBox As CommandTabBox= cmdTab.AddCommandTabBox

       

                      Dim cmdIDs(3) As Integer

                      Dim TextType(3) As Integer

       

                      cmdIDs(0) =cmdGroup.CommandID(cmdIndex0)

                      TextType(0) = swCommandTabButtonTextDisplay_e.swCommandTabButton_TextHorizontal

       

                      cmdIDs(1) =cmdGroup.CommandID(cmdIndex1)

                      TextType(1) = swCommandTabButtonTextDisplay_e.swCommandTabButton_TextHorizontal

       

                      cmdIDs(2) = cmdGroup.ToolbarId

                      TextType(2) = swCommandTabButtonTextDisplay_e.swCommandTabButton_TextHorizontal

       

       

                      bResult =cmdBox.AddCommands(cmdIDs, TextType)

       

                      Dim cmdBox1 As CommandTabBox= cmdTab.AddCommandTabBox()

                      ReDim cmdIDs(1)

                      ReDim TextType(1)

       

                      cmdIDs(0) = flyGroup.CmdID

                      TextType(0) = swCommandTabButtonTextDisplay_e.swCommandTabButton_TextBelow

       

                      bResult = cmdBox1.AddCommands(cmdIDs, TextType)

       

                      cmdTab.AddSeparator(cmdBox1,cmdIDs(0))

       

                  End If

              Next

       

            
           thisAssembly = Nothing

       

          End Sub