X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6046e57acc865a87cf9f94d27d3c0fb4b0aa18ac..602e4c15ffcd316b94f684175639d30070e8b866:/src/msw/app.cpp diff --git a/src/msw/app.cpp b/src/msw/app.cpp index 7d430057a9..6c4e94bacd 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -99,8 +99,13 @@ extern void wxSetKeyboardHook(bool doIt); // NB: all "NoRedraw" classes must have the same names as the "normal" classes // with NR suffix - wxWindow::MSWCreate() supposes this +#ifdef __WXWINCE__ + wxChar *wxCanvasClassName; + wxChar *wxCanvasClassNameNR; +#else const wxChar *wxCanvasClassName = wxT("wxWindowClass"); const wxChar *wxCanvasClassNameNR = wxT("wxWindowClassNR"); +#endif const wxChar *wxMDIFrameClassName = wxT("wxMDIFrameClass"); const wxChar *wxMDIFrameClassNameNoRedraw = wxT("wxMDIFrameClassNR"); const wxChar *wxMDIChildFrameClassName = wxT("wxMDIChildFrameClass"); @@ -254,6 +259,20 @@ bool wxApp::Initialize(int& argc, wxChar **argv) // ensure that base cleanup is done if we return too early wxCallBaseCleanup callBaseCleanup(this); +#ifdef __WXWINCE__ + wxString tmp = GetAppName(); + tmp += wxT("ClassName"); + wxCanvasClassName = wxStrdup( tmp.c_str() ); + tmp += wxT("NR"); + wxCanvasClassNameNR = wxStrdup( tmp.c_str() ); + HWND hWnd = FindWindow( wxCanvasClassNameNR, NULL ); + if (hWnd) + { + SetForegroundWindow( (HWND)(((DWORD)hWnd)|0x01) ); + return false; + } +#endif + // the first thing to do is to check if we're trying to run an Unicode // program under Win9x w/o MSLU emulation layer - if so, abort right now // as it has no chance to work @@ -514,6 +533,11 @@ void wxApp::CleanUp() delete wxWinHandleHash; wxWinHandleHash = NULL; + +#ifdef __WXWINCE__ + free( wxCanvasClassName ); + free( wxCanvasClassNameNR ); +#endif } // ----------------------------------------------------------------------------