I have been using the ribbon api to create my custom ribbon. I am
now attempting to load said rribbon at startup by placing the load
command into the initialize componant. It isn't working.
Does any on have any ideas?
Dim ribCntrl As Autodesk.Windows.RibbonControl = Autodesk.Windows.ComponentManager.Ribbon
If ComponentManager.Ribbon Is Nothing Then
For i As Integer = 0 To ribCntrl.Tabs.Count - 1
If ribCntrl.Tabs(i).Id.Equals("My_Rib_ID") Then
'add the tab
Dim ribTab As New RibbonTab()
ribTab.Title = "My New ribbon
ribTab.Id = "My_Rib_ID"
'create and add the panels
'set as active tab
ribTab.IsActive = True
I seem to remember being told it's because the ribbon .dll hasn't yet started
at this point sso it has nothing to use to load it?
Any help would be appreciated.
If the ribbon isn't loaded when your plug-in loads, you shouldn't try to load it.
When your plug-in loads, if it doesn't find the ribbon loaded, then you should add a handler to the RibbonService's RibbonPaletteSetCreated event. When the user activates the ribbon, your handler will be called and you can add your stuff then.
Have you tried using the “Autodesk.Windows.ComponentManager.ItemInitial