generate focus and kill focus events for wxTextCtrl at wxWindow level instead of doing it in wxTextCtrl itself and specifically disabling focus event generation for text controls in wxWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1928,17 +1928,6 @@ bool wxTextCtrl::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
|
|||||||
{
|
{
|
||||||
switch ( param )
|
switch ( param )
|
||||||
{
|
{
|
||||||
case EN_SETFOCUS:
|
|
||||||
case EN_KILLFOCUS:
|
|
||||||
{
|
|
||||||
wxFocusEvent event(param == EN_KILLFOCUS ? wxEVT_KILL_FOCUS
|
|
||||||
: wxEVT_SET_FOCUS,
|
|
||||||
m_windowId);
|
|
||||||
event.SetEventObject(this);
|
|
||||||
HandleWindowEvent(event);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EN_CHANGE:
|
case EN_CHANGE:
|
||||||
SendUpdateEvent();
|
SendUpdateEvent();
|
||||||
break;
|
break;
|
||||||
@@ -1954,7 +1943,9 @@ bool wxTextCtrl::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// the other edit notification messages are not processed
|
// the other edit notification messages are not processed (or, in
|
||||||
|
// the case of EN_{SET/KILL}FOCUS were already handled at WM_SET/
|
||||||
|
// KILLFOCUS level)
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -3978,15 +3978,6 @@ bool wxWindowMSW::HandleSetFocus(WXHWND hwnd)
|
|||||||
}
|
}
|
||||||
#endif // wxUSE_CARET
|
#endif // wxUSE_CARET
|
||||||
|
|
||||||
#if wxUSE_TEXTCTRL
|
|
||||||
// If it's a wxTextCtrl don't send the event as it will be done
|
|
||||||
// after the control gets to process it from EN_FOCUS handler
|
|
||||||
if ( wxDynamicCastThis(wxTextCtrl) )
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif // wxUSE_TEXTCTRL
|
|
||||||
|
|
||||||
wxFocusEvent event(wxEVT_SET_FOCUS, m_windowId);
|
wxFocusEvent event(wxEVT_SET_FOCUS, m_windowId);
|
||||||
event.SetEventObject(this);
|
event.SetEventObject(this);
|
||||||
|
|
||||||
@@ -4006,16 +3997,6 @@ bool wxWindowMSW::HandleKillFocus(WXHWND hwnd)
|
|||||||
}
|
}
|
||||||
#endif // wxUSE_CARET
|
#endif // wxUSE_CARET
|
||||||
|
|
||||||
#if wxUSE_TEXTCTRL
|
|
||||||
// If it's a wxTextCtrl don't send the event as it will be done
|
|
||||||
// after the control gets to process it.
|
|
||||||
wxTextCtrl *ctrl = wxDynamicCastThis(wxTextCtrl);
|
|
||||||
if ( ctrl )
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Don't send the event when in the process of being deleted. This can
|
// Don't send the event when in the process of being deleted. This can
|
||||||
// only cause problems if the event handler tries to access the object.
|
// only cause problems if the event handler tries to access the object.
|
||||||
if ( m_isBeingDeleted )
|
if ( m_isBeingDeleted )
|
||||||
|
Reference in New Issue
Block a user