git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49411
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
eventNc.SetEventObject(this);
GetEventHandler()->ProcessEvent(eventNc);
eventNc.SetEventObject(this);
GetEventHandler()->ProcessEvent(eventNc);
+ // don't keep an HRGN we don't need any longer (GetUpdateRegion() can only
+ // be called from inside the event handlers called above)
+ m_updateRegion.Clear();
+
- if ( GetBackgroundStyle() == wxBG_STYLE_CUSTOM )
+ switch ( GetBackgroundStyle() )
- // don't skip the event here, custom background means that the app
- // is drawing it itself in its OnPaint(), so don't draw it at all
- // now to avoid flicker
- return;
- }
+ default:
+ wxFAIL_MSG( _T("Unknown background style") );
+ // fall through
+ case wxBG_STYLE_SYSTEM:
+ case wxBG_STYLE_COLOUR:
+ // do default background painting
+ if ( !DoEraseBackground(GetHdcOf(*event.GetDC())) )
+ {
+ // let the system paint the background
+ event.Skip();
+ }
- // do default background painting
- if ( !DoEraseBackground(GetHdcOf(*event.GetDC())) )
- {
- // let the system paint the background
- event.Skip();
+ case wxBG_STYLE_CUSTOM:
+ // don't skip the event here, custom background means that the app
+ // is drawing it itself in its OnPaint(), so don't draw it at all
+ // now to avoid flicker
+ return;
+
+ case wxBG_STYLE_TRANSPARENT:
+ event.Skip();
- if ( isVirtual )
- *isVirtual = false;
- vk = (WXWORD)wxk;
- break;
+ // check to see if its one of the OEM key codes.
+ BYTE vks = LOBYTE(VkKeyScan(wxk));
+ if ( vks != -1 )
+ {
+ vk = vks;
+ }
+ else
+ {
+ if ( isVirtual )
+ *isVirtual = false;
+ vk = (WXWORD)wxk;
+ }