Reparied accel processing

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@8124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2000-08-18 12:00:39 +00:00
parent 3ed3532bd7
commit e231753983
2 changed files with 25 additions and 7 deletions

View File

@@ -197,7 +197,9 @@ protected:
int m_nFsToolBarHeight; int m_nFsToolBarHeight;
bool m_bFsIsMaximized; bool m_bFsIsMaximized;
bool m_bFsIsShowing; bool m_bFsIsShowing;
bool m_bIsShown;
wxWindow* m_pWinLastFocused;
private: private:
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
WXHWND m_hWndToolTip; WXHWND m_hWndToolTip;

View File

@@ -731,17 +731,33 @@ bool wxApp::ProcessMessage(
// //
// Try translations first; find the youngest window with // Try translations first; find the youngest window with
// a translation table. // a translation table. OS/2 has case sensative accels, so
// this block, coded by BK, removes that and helps make them
// case insensative.
// //
if(pMsg->msg == WM_CHAR) if(pMsg->msg == WM_CHAR)
{ {
for(pWnd = pWndThis; pWnd; pWnd = pWnd->GetParent() ) PBYTE pChmsg = (PBYTE)&(pMsg->msg);
{ USHORT uSch = CHARMSG(pChmsg)->chr;
if(pWnd->OS2TranslateMessage(pWxmsg)) bool bRc;
break;
}
}
//
// Do not process keyup events
//
if(!(CHARMSG(pChmsg)->fs & KC_KEYUP))
{
if((CHARMSG(pChmsg)->fs & (KC_ALT | KC_CTRL)) && CHARMSG(pChmsg)->chr != 0)
CHARMSG(pChmsg)->chr = (USHORT)wxToupper((UCHAR)usch);
for(pWnd = pWndThis; pWnd; pWnd = pWnd->GetParent() )
{
if(pWnd->OS2TranslateMessage(pWxmsg))
break;
}
if(!bRc) // untranslated, should restore original value
CHARMSG(pChmsg)->chr = uSch;
}
}
// //
// Anyone for a non-translation message? Try youngest descendants first. // Anyone for a non-translation message? Try youngest descendants first.
// //