+    switch (uParam)
+    {
+        case LN_SELECT:
+            if (GetSelection() > -1)
+            {
+                wxCommandEvent      vEvent( wxEVT_COMMAND_COMBOBOX_SELECTED
+                                           ,GetId()
+                                          );
+
+                vEvent.SetInt(GetSelection());
+                vEvent.SetEventObject(this);
+                vEvent.SetString((char*)GetStringSelection().c_str());
+                ProcessCommand(vEvent);
+            }
+            break;
+
+        case EN_CHANGE:
+            {
+                wxCommandEvent      vEvent( wxEVT_COMMAND_TEXT_UPDATED
+                                           ,GetId()
+                                          );
+
+                if (lSel == -1L)
+                    sValue = GetValue();
+                else
+                    SetValue(sValue);
+                vEvent.SetString((char*)GetValue().c_str());
+                vEvent.SetEventObject(this);
+                ProcessCommand(vEvent);
+            }
+            break;
+    }
+    //
+    // There is no return value for the CBN_ notifications, so always return
+    // FALSE from here to pass the message to DefWindowProc()
+    //
+    return FALSE;
+} // end of wxComboBox::OS2Command
+
+bool wxComboBox::Create(
+  wxWindow*                         pParent
+, wxWindowID                        vId
+, const wxString&                   rsValue
+, const wxPoint&                    rPos
+, const wxSize&                     rSize
+, int                               n
+, const wxString                    asChoices[]
+, long                              lStyle
+#if wxUSE_VALIDATORS
+, const wxValidator&                rValidator
+#endif
+, const wxString&                   rsName
+)
+{