Move WM_CHAR handling inside the switch in wxTextCtrl code
No real changes, just check for WM_CHAR inside the existing "switch" instead of writing a separate "if" statement just for it. Note that removing HasFlag(wxTE_PROCESS_ENTER) test shouldn't matter as we should be only getting WM_CHAR for VK_RETURN when this flag is used.
This commit is contained in:
@@ -2178,27 +2178,26 @@ wxTextCtrl::MSWHandleMessage(WXLRESULT *rc,
|
|||||||
{
|
{
|
||||||
bool processed = wxTextCtrlBase::MSWHandleMessage(rc, nMsg, wParam, lParam);
|
bool processed = wxTextCtrlBase::MSWHandleMessage(rc, nMsg, wParam, lParam);
|
||||||
|
|
||||||
// Handle the special case of "Enter" key: the user code needs to specify
|
|
||||||
// wxTE_PROCESS_ENTER style to get it in the first place, but if this flag
|
|
||||||
// is used, then even if the wxEVT_TEXT_ENTER handler skips the event, the
|
|
||||||
// normal action of this key is not performed because IsDialogMessage() is
|
|
||||||
// not called and, also, an annoying beep is generated by EDIT default
|
|
||||||
// WndProc.
|
|
||||||
//
|
|
||||||
// Fix these problems by explicitly performing the default function of this
|
|
||||||
// key (which would be done by MSWProcessMessage() if we didn't have
|
|
||||||
// wxTE_PROCESS_ENTER) and preventing the default WndProc from getting it.
|
|
||||||
if ( nMsg == WM_CHAR &&
|
|
||||||
!processed &&
|
|
||||||
HasFlag(wxTE_PROCESS_ENTER) &&
|
|
||||||
wParam == VK_RETURN )
|
|
||||||
{
|
|
||||||
if ( ClickDefaultButtonIfPossible() )
|
|
||||||
processed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch ( nMsg )
|
switch ( nMsg )
|
||||||
{
|
{
|
||||||
|
case WM_CHAR:
|
||||||
|
// Handle the special case of "Enter" key: the user code needs to specify
|
||||||
|
// wxTE_PROCESS_ENTER style to get it in the first place, but if this flag
|
||||||
|
// is used, then even if the wxEVT_TEXT_ENTER handler skips the event, the
|
||||||
|
// normal action of this key is not performed because IsDialogMessage() is
|
||||||
|
// not called and, also, an annoying beep is generated by EDIT default
|
||||||
|
// WndProc.
|
||||||
|
//
|
||||||
|
// Fix these problems by explicitly performing the default function of this
|
||||||
|
// key (which would be done by MSWProcessMessage() if we didn't have
|
||||||
|
// wxTE_PROCESS_ENTER) and preventing the default WndProc from getting it.
|
||||||
|
if ( !processed && wParam == VK_RETURN )
|
||||||
|
{
|
||||||
|
if ( ClickDefaultButtonIfPossible() )
|
||||||
|
processed = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case WM_GETDLGCODE:
|
case WM_GETDLGCODE:
|
||||||
{
|
{
|
||||||
// Ensure that the result value is initialized even if the base
|
// Ensure that the result value is initialized even if the base
|
||||||
|
Reference in New Issue
Block a user