Why can I see Windows through the Background
 
 
keplers
Unregistered User
(4/4/00 3:00:57 pm)
Reply Why can you see windows through the background???
--------------------------------------------------------------------------------
I am using the full screen mode of Direct Draw based off you tutorial, and I can see and edit things through the background. It basically clicks through the direct draw surface. You can minimize and resize the window even when the properties are set correctly. I would like to have the full focus be on the Direct Draw surface. So you are unable to click through it. Thanks for you time.



 
MetalWarrior  
Global user
(4/4/00 4:43:04 pm)
Reply Re: Why can you see windows through the background???
--------------------------------------------------------------------------------
Can you post your initialization code? I'd need to know what you were doing.



 
Daniel Netz
Unregistered User
(4/4/00 11:36:07 pm)
Reply Re: Why can you see windows through the background???
--------------------------------------------------------------------------------
That's a usual and quite easy problem to fix. It's just that the GDI primary surface and the DirectDraw primary surface is fighting for focus, therefor it flips between them two and you can see and click on GDI objects in the background.

Add these lines of code when you initialize fullscreen:
(They're all WinAPI functions)

=================================================
SetWindowLong frmMain.hWnd, GWL_STYLE, WS_POPUP Or WS_VISIBLE
ShowWindow frmMain.hWnd, SW_SHOW
SetWindowPos frmMain.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE
=================================================



 
CSi  
Local user
(4/11/00 10:04:39 pm)
Reply Re: Why can you see windows through the background???
--------------------------------------------------------------------------------
This may sound lame but hy is worked for me before =P..
Try compiling the project.. I have had similar problems from time to time, it seems VB and directX don't quite like each other atm. After the compile it should work fine, however that makes testing the program a royal pain in the butt =P..

-CSi 



 
Daniel Netz
Global user
(4/12/00 3:51:46 pm)
Reply _
--------------------------------------------------------------------------------
It is as you say not always needed, because it doesn't happend all the time, but I'm not sure it's code specific or system specific, so I preffer to use the above code to make that it doesn't happend.