Edit - looking at your example, this doesn't do the Menu part. I'll look at that part now -- Sorry I focused on the check boxes as plain checkboxes
I thought it'd be easier (esp. for me
) to make just a small example that seems to do what you want
I think this shows the overall concepts, and if it works for you, you'll need to integrate it
Option Explicit
Dim B1 As Boolean, B2 As Boolean, B3 As Boolean
Dim oRibbon As IRibbonUI
'Callback for customUI.onLoad
Sub OnRibbonLoad(ribbon As IRibbonUI)
Set oRibbon = ribbon
B1 = True
B2 = False
B3 = False
oRibbon.Invalidate
End Sub
'Callback for CheckBox onAction
Sub OnAction(control As IRibbonControl, pressed As Boolean)
B1 = False
B2 = False
B3 = False
Select Case control.ID
Case "CheckBox1"
B1 = True
Case "CheckBox2"
B2 = True
Case "CheckBox3"
B3 = True
End Select
oRibbon.Invalidate
End Sub
'Callback for CheckBox1 getPressed
Sub GetPressed(control As IRibbonControl, ByRef returnedVal)
Select Case control.ID
Case "CheckBox1"
returnedVal = B1
Case "CheckBox2"
returnedVal = B2
Case "CheckBox3"
returnedVal = B3
End Select
End Sub