- int comboStyle = m_combo->GetWindowStyle();
- int keycode = event.GetKeyCode();
- // Process partial completion key codes here, but not the arrow keys as the base class will do that for us
- if ((comboStyle & wxCB_READONLY) &&
- (keycode >= WXK_SPACE) && (keycode <=255) && (keycode != WXK_DELETE) && wxIsprint(keycode))
+ // completion is handled in OnChar() below
+ event.Skip();
+ }
+}
+
+void wxVListBoxComboPopup::OnChar(wxKeyEvent& event)
+{
+ if ( m_combo->GetWindowStyle() & wxCB_READONLY )
+ {
+ // Process partial completion key codes here, but not the arrow keys as
+ // the base class will do that for us
+#if wxUSE_UNICODE
+ const wxChar charcode = event.GetUnicodeKey();
+#else
+ const wxChar charcode = (wxChar)event.GetKeyCode();
+#endif
+ if ( wxIsprint(charcode) )