int sel = -1;
switch ( param )
{
+ case CBN_SELENDOK:
case CBN_SELCHANGE:
sel = GetSelection();
- // somehow we get 2 CBN_SELCHANGE events with the same index when
- // the user selects an item in the combobox -- ignore duplicates
+ // we may sometimes get 2 CBN_SELCHANGE events or a CBN_SELENDOK
+ // before CBN_SELCHANGE with the same index when the user selects
+ // an item in the combobox -- ignore duplicates
if ( sel > -1 && sel != m_selectionOld )
{
m_selectionOld = sel;
(style & ~wxBORDER_MASK) | wxBORDER_NONE, exstyle
);
+ // usually WS_TABSTOP is added by wxControl::MSWGetStyle() but as we're
+ // created hidden (see Create() above), it is not done for us but we still
+ // want to have this style
+ msStyle |= WS_TABSTOP;
+
// remove the style always added by wxChoice
msStyle &= ~CBS_DROPDOWNLIST;