Re: [GD-Windows] Alt+Tab in fullscreen with no other apps running
Brought to you by:
vexxed72
From: Oscar C. <oc...@fr...> - 2007-09-06 11:54:20
|
I still haven't got this working, testing under WinXP :-( Alen's idea gets me most of the way there, but my window gets restored immediately after being minimised. Looking through the windows message trace, it looks like the minimise completes successfully: the WM_SYSCOMMAND triggers a bunch of further messages including the WM_ACTIVATE (WA_INACTIVE) and WM_ACTIVATEAPP (wParam=FALSE). However I then immediately get a WM_ACTIVATE (WA_ACTIVE) message, which I assume is generated by Windows in response to certain properties of my window or because I'm not handling some messages correctly. In addition to Alen's code I've also tried experimenting with the window style flags, and even tried calling SetWindowPos to force my window first to the bottom of the z-order and then again to put it back on top, to make sure it's not TOPMOST, but I'm still missing something. I hate working with API's I don't know very well, I feel like such a n00b ;-> Can anyone bail me out? Cheers, Oscar. ----- Original Message ----- From: "Alen Ladavac" <ale...@cr...> To: <gam...@li...> Sent: Tuesday, September 04, 2007 5:03 PM Subject: Re: [GD-Windows] Alt+Tab in fullscreen with no other apps running > Hi Oscar, > > IIRC, we've always been doing something like > > if( (msg.message==WM_ACTIVATE && (LOWORD(msg.wParam)==WA_INACTIVE || > HIWORD(msg.wParam))) > || msg.message==WM_CANCELMODE > || msg.message==WM_KILLFOCUS > || (msg.message==WM_ACTIVATEAPP && !msg.wParam)) { > > if (bInFullScreen) { > PostMessage(NULL, WM_SYSCOMMAND, SC_MINIMIZE, 0); > } > > That seems to work for us, YMMV. > > HTH, > Alen > > Oscar wrote: > >> Hi, > >> Does anyone know if there's something I have to do (or avoid doing) to >> make >> my game minimise when the player hits Alt+Tab whilst running in >> fullscreen >> with no other apps running? > >> My game isn't minimising in pre-Vista versions of Windows, but other >> games >> seem to do so. Windows isn't sending me any WM_ACTIVATE or WM_ACTIVATEAPP >> messages. I am getting WM_NCACTIVATE and WM_CANCELMODE, and I'm passing >> these on to the default WndProc expecting it to handle any necessary >> plumbing. > >> With other apps running the Alt+Tab behaviour is correct in fullscreen, >> but >> in this case Windows is sending me a completely different sequence of >> messages. > >> Thanks in advance, > >> Oscar Cooper >> Lead Programmer >> Frontier Developments Ltd > > > >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Splunk Inc. >> Still grepping through log files to find problems? Stop. >> Now Search log events and configuration files using AJAX and a browser. >> Download your FREE copy of Splunk now >> http://get.splunk.com/ >> _______________________________________________ >> Gamedevlists-windows mailing list >> Gam...@li... >> https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows >> Archives: >> http://sourceforge.net/mailarchive/forum.php?forum_id=555 > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > |