PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windows Fenster auf Vollbild umschalten (NEHE/OpenGL)


knuglifix
2007-08-04, 11:13:09
hi,

ich beschäftige mich derzeit mit den NEHE Tutorials und möchte gerne das Fenster vom Fenstermodus auf den Vollbildmodus umschalten. Aber das ganze so, das das zuvor erstellte Fenster NICHT gekillt wird wie es in den NEHE Tuts praktiziert wird. Hab mir soweit nen paar sachen aus der MSDN und der Erstellfunktion zusammenkopiert.


DWORD dwExStyle;
DWORD dwStyle;
RECT WindowRect;

DEVMODE dmScreenSettings;
memset(&dmScreenSettings,0,sizeof(dmScreenSettings));

dmScreenSettings.dmSize = sizeof(dmScreenSettings);
dmScreenSettings.dmPelsWidth = Konfiguration.var_iBildX;
dmScreenSettings.dmPelsHeight = Konfiguration.var_iBildY;
dmScreenSettings.dmBitsPerPel = Konfiguration.var_iFarbtiefe;
dmScreenSettings.dmFields = DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT;

ChangeDisplaySettings(&dmScreenSettings,CDS_FULLSCREEN);

dwExStyle=WS_EX_APPWINDOW;
dwStyle=WS_POPUP ;
ShowCursor(FALSE);

AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle);

SetWindowLong(hWnd, GWL_EXSTYLE, dwExStyle);
SetWindowLong(hWnd, GWL_STYLE, dwStyle);

SetWindowPos(hWnd,hWnd,0,0,WindowRect.right-WindowRect.left, WindowRect.bottom-WindowRect.top,NULL);

ShowWindow(hWnd,SW_SHOW);
SetForegroundWindow(hWnd);
SetFocus(hWnd);

GL_ReSize(Konfiguration.var_iBildX, Konfiguration.var_iBildY);


Soweit scheint das auch zu klappen, problem ist nur das der Fensterrahmen und Titel "eingeschwärtzt" zu sehen ist sowie ein teil der Taskleiste. Wo ist der Fehler, bzw was hab ich vergessen?

del_4901
2007-08-04, 11:30:37
Ich bin mir nicht 100%ig sicher, aber das echte umschalten zw. Fenster und Vollbildmodus, ohne den Inhalt neu machen zu müssen, geht glaube ich nur unter dem X11. Man kann zwar unter Windows die ganzen Rahmen etc. wegschalten, aber dann musst du um das Fenster voll aufzuziehen, die Desktop-Auflösung benutzen. Hat halt alles seine Vor- und Nachteile. Pack einfach deine Application in ein Memento und setz beim Wechsel alles neu auf.