+ win->GetUpdateRegion().Union( event->xgraphicsexpose.x, event->xgraphicsexpose.y,
+ event->xgraphicsexpose.width, event->xgraphicsexpose.height);
+
+ win->GetClearRegion().Union( event->xgraphicsexpose.x, event->xgraphicsexpose.y,
+ event->xgraphicsexpose.width, event->xgraphicsexpose.height);
+
+ if (event->xgraphicsexpose.count == 0)
+ {
+ // Only erase background, paint in idle time.
+ win->SendEraseEvents();
+ // win->Update();
+ }
+
+ return true;
+ }
+#endif
+
+ case KeyPress:
+ {
+ if (!win->IsEnabled())
+ return false;
+
+ wxKeyEvent keyEvent(wxEVT_KEY_DOWN);
+ wxTranslateKeyEvent(keyEvent, win, window, event);
+
+ // wxLogDebug( "OnKey from %s", win->GetName().c_str() );
+
+ // We didn't process wxEVT_KEY_DOWN, so send wxEVT_CHAR
+ if (win->HandleWindowEvent( keyEvent ))
+ return true;
+
+ keyEvent.SetEventType(wxEVT_CHAR);
+ // Do the translation again, retaining the ASCII
+ // code.
+ if (wxTranslateKeyEvent(keyEvent, win, window, event, true) &&
+ win->HandleWindowEvent( keyEvent ))
+ return true;
+
+ if ( (keyEvent.m_keyCode == WXK_TAB) &&
+ win->GetParent() && (win->GetParent()->HasFlag( wxTAB_TRAVERSAL)) )