Taskbar overlapping WS_POPUP?

Started by
3 comments, last by jwezorek 13 years, 11 months ago
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)
Advertisement
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.
[size=2]My Projects:
[size=2]Portfolio Map for Android - Free Visual Portfolio Tracker
[size=2]Electron Flux for Android - Free Puzzle/Logic Game
Try WS_POPUP | WS_MAXIMIZE | WS_VISIBLE
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]
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.

This topic is closed to new replies.

Advertisement