]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/combobox.cpp
scrolling UPP moved
[wxWidgets.git] / src / msw / combobox.cpp
index 0bd353a41a2f97b46c25dda003092f66e326b33b..38ec288a72f82c7a409a4fd29c37462b7a77ce9d 100644 (file)
@@ -304,11 +304,13 @@ bool wxComboBox::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
     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;
@@ -456,6 +458,11 @@ WXDWORD wxComboBox::MSWGetStyle(long style, WXDWORD *exstyle) const
                         (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;