TLW default item changes have changed Enter key processing: it was now handled as TAB even for controls such as wxTree/ListCtrl which need it themselves; fix this by checking for VK_RETURN in these classes MSWShouldPreProcessMessage() implementation; also removed specific test for wxTextCtrl in wxWindowMSW::MSWProcessMessage() and simplified its code

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-07-31 22:06:24 +00:00
parent 955e46d25d
commit 90c6edd706
6 changed files with 66 additions and 53 deletions

View File

@@ -1784,18 +1784,17 @@ void wxTextCtrl::OnDropFiles(wxDropFilesEvent& event)
// kbd input processing
// ----------------------------------------------------------------------------
bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* pMsg)
bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* msg)
{
MSG *msg = (MSG *)pMsg;
// check for our special keys here: if we don't do it and the parent frame
// uses them as accelerators, they wouldn't work at all, so we disable
// usual preprocessing for them
if ( msg->message == WM_KEYDOWN )
{
WORD vkey = (WORD) msg->wParam;
if ( (HIWORD(msg->lParam) & KF_ALTDOWN) == KF_ALTDOWN )
const WPARAM vkey = msg->wParam;
if ( HIWORD(msg->lParam) & KF_ALTDOWN )
{
// Alt-Backspace is accelerator for "Undo"
if ( vkey == VK_BACK )
return false;
}
@@ -1813,6 +1812,9 @@ bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* pMsg)
// fall through
case 0:
if ( vkey == VK_RETURN )
return false;
// fall through
case 2:
break;
@@ -1841,7 +1843,7 @@ bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* pMsg)
}
}
return wxControl::MSWShouldPreProcessMessage(pMsg);
return wxControl::MSWShouldPreProcessMessage(msg);
}
void wxTextCtrl::OnChar(wxKeyEvent& event)