change in combobox not firing

M

Mike

Hi all,

I have a pop-up (right-click) menu that I'm creating on the fly based on
what object my user right-clicks on, and everything seems to be working ok
except that when I add a control of type msocontrolcombobox, I can't trap
the _change event.

I have a class module for the menu with several Private WithEvents
commandbarbuttons that are working, followed by :
Private WithEvents btnSetTarget As CommandBarComboBox

Private Sub btnSetTarget_Change(ByVal Ctrl As Office.CommandBarComboBox)
Debug.Print Ctrl.Text
(I'd like to put more substatial code here)
End Sub

and in the code to show the pop-up:
public sub ShowMenu()
With Application.CommandBars.Add( Position:=msoBarPopup)
....
other buttons defined
....
Set btnSetTarget = .Controls.Add(Type:=msoControlComboBox)
With btnSetTarget
.AddItem "1%", 1
.AddItem "2%", 2
.AddItem "3%", 3
.AddItem "5%", 4
.Width = 120
.Caption = "Set '" & mAxis.AxisTitle.Caption & "' Target"
End With
.ShowPopup
.Delete
End With
End Sub


As I said up above, my other buttons work fine - the click event occurs
between the .showpopup and .delete lines in the code above. However, for
btnSetTarget, the change event doesn't seem to trigger.

What's wrong?

TIA.
 
G

Guest

the btnsetTarget in your set statement has no relation to your btnsetTarget
in your class module. You never tie your button to the class.

Look at the help example for the change event of a commandbarcombo object to
see what I am talking about.

The only omission I saw was the example doesn't state explicitly that the
class module is named

ComboBoxHandler

Although you can tell that by looking at the code, it should be stated
clearly I would think.

Observing that, the example worked fine for me. Follow that pattern
 
M

Mike

Sorry Tom,

I should have made it more clear, but I edited out a lot of code for
brevity, ALL the code snippets that I posted ARE from the class module.

I played around with the example you suggested anyways though, and it led me
to the issue rather quickly: the example is using a floating commandbar, my
code is using a popup (rightclick shortcut) commandbar. When I convert the
example commandbar to become an msobarpopup, the example exhibits the same
failure style as my code - I guess because of the modality of the popup
commandbar tied into that it dissappears as soon as you click a button or
select a value from the combobox dropdown.

Fortunately, I have another way to deal with this, unfortunately it's not as
'slick'.

Thanks for the help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top