Reparied accel processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -89,8 +89,8 @@ wxAcceleratorTable::wxAcceleratorTable(
|
|||||||
wxFrame* pFrame = (wxFrame*)wxTheApp->GetTopWindow();
|
wxFrame* pFrame = (wxFrame*)wxTheApp->GetTopWindow();
|
||||||
|
|
||||||
::WinSetAccelTable( vHabmain
|
::WinSetAccelTable( vHabmain
|
||||||
,(HWND)pFrame->GetFrame()
|
|
||||||
,hAccel
|
,hAccel
|
||||||
|
,(HWND)pFrame->GetFrame()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
M_ACCELDATA->m_hAccel = hAccel;
|
M_ACCELDATA->m_hAccel = hAccel;
|
||||||
@@ -152,8 +152,8 @@ wxAcceleratorTable::wxAcceleratorTable(
|
|||||||
wxFrame* pFrame = (wxFrame*)wxTheApp->GetTopWindow();
|
wxFrame* pFrame = (wxFrame*)wxTheApp->GetTopWindow();
|
||||||
|
|
||||||
::WinSetAccelTable( vHabmain
|
::WinSetAccelTable( vHabmain
|
||||||
,(HWND)pFrame->GetFrame()
|
|
||||||
,M_ACCELDATA->m_hAccel
|
,M_ACCELDATA->m_hAccel
|
||||||
|
,(HWND)pFrame->GetFrame()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -731,16 +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 0
|
if(pMsg->msg == WM_CHAR)
|
||||||
for (pWnd = pWndThis; pWnd; pWnd = pWnd->GetParent() )
|
|
||||||
{
|
{
|
||||||
if (pMsg->msg == WM_CHAR)
|
PBYTE pChmsg = (PBYTE)&(pMsg->msg);
|
||||||
if (pWnd->OS2TranslateMessage(pWxmsg))
|
USHORT uSch = CHARMSG(pChmsg)->chr;
|
||||||
return TRUE;
|
bool bRc;
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
//
|
//
|
||||||
// Anyone for a non-translation message? Try youngest descendants first.
|
// Anyone for a non-translation message? Try youngest descendants first.
|
||||||
//
|
//
|
||||||
|
Reference in New Issue
Block a user