diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp index 80eec63138..678a04b09c 100644 --- a/src/msw/textctrl.cpp +++ b/src/msw/textctrl.cpp @@ -2178,27 +2178,26 @@ wxTextCtrl::MSWHandleMessage(WXLRESULT *rc, { 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 ) { + 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: { // Ensure that the result value is initialized even if the base