Sign in to follow this  
shwasasin

Taskbar overlapping WS_POPUP?

Recommended Posts

shwasasin    482
Hey Everyone, I'm writing an app where I need the main window to be full screen. I've set my window style to be "WS_POPUP|WS_VISIBLE" (as well as tried adding clip sibling/children and maximized) and changed the window dimensions to the size of the resolution of the computer, but when I run the app starts fullscreen then after around 2 seconds the taskbar appears on screen. I am initializing OpenGL after creating this window. I've noticed that if I do not call SwapBuffers(), the taskbar issue does not happen. I have tried using the PFD-composition and it does not seem to resolve the problem. Has anyone else experienced this issue? It's a rather standard setup of OpenGL so I'm not sure what the issue is. Any help would be appreciated. C Info: Visual Studio 2005 Standard Vista, NVidia Geforce 8600M (latest drivers)

Share this post


Link to post
Share on other sites
karwosts    840
You might need to throw in one of these. I don't know it that well so I'll leave it to you to research the proper arguments.

ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN)

Personally I just changed over to using SFML so I wouldn't have to deal with Win32 anymore.

Share this post


Link to post
Share on other sites
shwasasin    482
Hi guys,
Thanks for the replies. Unfortunately I have tried changing the display settings, I even went as far as enumerating the display modes on the card and picking something other than the default windows resolution, and changing the styles to the ones mentioned.

Any other ideas?


UPDATE: Just a quick update to mention. I tried this exact code on Windows 7 (64-bit) and crazily enough it works fine. Very strange.

[Edited by - shwasasin on May 5, 2010 7:25:38 AM]

Share this post


Link to post
Share on other sites
jwezorek    2663
To get a window to be above the taskbar what you need to do is create it with the WS_EX_TOPMOST extended style set. You can get the size of the screen with GetSystemMetrics(SM_CXFULLSCREEN) and GetSystemMetrics(SM_CYFULLSCREEN), among other ways.

If WS_EX_TOPMOST doesn't make the window able to be above the taskbar then this is a new feature of Vista/Windows 7 -- this method definitely still works on XP (I just tried it) -- in which case you will need to manually find the taskbar window and hide it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this