directdraw anwendung wiederherstellen
-
wenn ich mit alt+tab in windows wechsle und anschliessend zurückkehre ist leider mur noch kuddel muttel dargestellt (der hintergrund ist richtig auch die zeichnungen, aber alle button die aus surfaces bestehen sind verschwommen) .. was mache ich falsch?
in WindowFunc: case WM_ACTIVATEAPP: if (wParam) { WindowActivate=true; restore=1; } else { WindowActivate=false; restore=0; } in schleife: while (TRUE) { if(!active) { WaitMessage(); } if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) { break; } TranslateMessage(&msg); DispatchMessage(&msg); } else { if (!WindowActivate) { continue; } else if (restore==1) { DDraw.RestoreAll(); restore=0; } Rendern(); ....... //------------------------------------------------ void DirectDrawClass::RestoreAll(void) { lpDD7->RestoreAllSurfaces(); }
-
irgendwie .. er restauriert ja .. ich habe ja den bildschirm wieder aber man sieht da auch ghost's vom desktop und due bitmap button sind alle zerstört .. wie soll man ds sonst anfangen?
-
Zumindest bei DX7 war es so, dass die Restore - Funktion zwar die
Surfaces selber wieder herstellt, aber der Inhalt ist weg,
du wirst also die Bilder etc.. neu laden müssen.
-
Original erstellt von Fischi:
Zumindest bei DX7 war es so, dass die Restore - Funktion zwar die
Surfaces selber wieder herstellt, aber der Inhalt ist weg,
du wirst also die Bilder etc.. neu laden müssen.Monkey Island 3 oder so konnte das auch nicht...
-
@Fischi .. mhh ist das ehct so? .. könnte echt stimmen da im groben es ja wiederhergstellt wird aber leider die bilder selber mal ok sind aber zu 90% nicht .. ok ich probiersmal mit neu laden
falls jemand nen anderen trick kennt immer her damit