4
votes

I wrote an OpenGL app in C++ a while ago, back when my operating system was Windows XP.

I used GLUT (plane ol' version) to show the window and also used full screen mode.

There are times when I displayed a message box (MessageBoxA method, using the MB_TASKMODAL modifier).

In windows XP the message box was being displayed nicely over the full screen graphics, but it seems that something has changed in windows 7. Now, the application behaves like the message box is displayed, mainly, the keyboard and mouse are not operational until I click the button on the box, but the message is not shown on the screen! Keep in mind that it's the same code that was working fine in windows XP, and it is only a problem in full screen mode.

Did anyone ran into this kind of problem and perhaps know a way to make this code windows 7 compatible?

1
Have you considered switching from GLUT to freeglut? GLUT hasn't been updated in a while, and won't be seeing any development as far as I know. Freeglut should be compatible with GLUT, so you won't need to change anything in the source, not even the includes. Just link the new library. - Kian
Kian have good point. Also I would suggest changing gui library to something "normal". Something based on OpenGL (eg AntTweakBar antisphere.com/Wiki/tools:anttweakbar) - przemo_li
Are you making sure to bring the message box to the front everytime you update OpenGL's front buffer (by calling glSwapBuffer() or glFlush())? - Razzupaltuff
To add to przemo's point, I'm a fan of SFML (sfml-dev.org). Version 2 is the one to try. It's not a full release yet, but I haven't had any trouble with the latest build so far. - Robinson
In Windows Vista and Windows 7, message boxes actually show up behind a full-screen OpenGL window. (You can see this if you use Ctrl-Alt-Delete to switch to another program while a message box should be shown.) - fintelia

1 Answers

0
votes

Just to make links between identical problems, even if this question is old and probably forgotten, I had a comparable question and found a workaround in 2010 :

Modal dialogs opened by a fullscreen OpenGL window on Windows 7 are not showing