BEGIN_EVENT_TABLE(wxComboPopupWindowEvtHandler, wxEvtHandler)
EVT_KEY_DOWN(wxComboPopupWindowEvtHandler::OnKeyEvent)
EVT_KEY_UP(wxComboPopupWindowEvtHandler::OnKeyEvent)
+ EVT_CHAR(wxComboPopupWindowEvtHandler::OnKeyEvent)
#if USES_GENERICTLW
EVT_ACTIVATE(wxComboPopupWindowEvtHandler::OnActivate)
#endif
event.Skip();
}
+void wxComboPopup::OnComboCharEvent( wxKeyEvent& event )
+{
+ event.Skip();
+}
+
void wxComboPopup::OnComboDoubleClick()
{
}
EVT_IDLE(wxComboCtrlBase::OnIdleEvent)
//EVT_BUTTON(wxID_ANY,wxComboCtrlBase::OnButtonClickEvent)
EVT_KEY_DOWN(wxComboCtrlBase::OnKeyEvent)
+ EVT_CHAR(wxComboCtrlBase::OnCharEvent)
EVT_TEXT_ENTER(wxID_ANY,wxComboCtrlBase::OnTextCtrlEvent)
EVT_SYS_COLOUR_CHANGED(wxComboCtrlBase::OnSysColourChanged)
END_EVENT_TABLE()
}
}
+void wxComboCtrlBase::OnCharEvent(wxKeyEvent& event)
+{
+ if ( IsPopupShown() )
+ {
+ // pass it to the popped up control
+ GetPopupControl()->GetControl()->GetEventHandler()->ProcessEvent(event);
+ }
+ else // no popup
+ {
+ wxComboPopup* popupInterface = GetPopupControl();
+ if ( popupInterface )
+ {
+ popupInterface->OnComboCharEvent(event);
+ }
+ else
+ {
+ event.Skip();
+ }
+ }
+}
+
void wxComboCtrlBase::OnFocusEvent( wxFocusEvent& event )
{
if ( event.GetEventType() == wxEVT_SET_FOCUS )