Page flipping suppress even CtrlAltEsc

Started by
11 comments, last by Void 24 years, 6 months ago
That's because GDI doesn't keep track of Flips, so it may write to the wrong memory.

Use FlipToGDI() to show message boxes, dialog boxes, etc.

Advertisement
Yes I know of fliptoGDI but how to do that for assertions and the end task dialog when the Ctrl Alt Esc is pressed?

I tried trapping messages like WM_KILLFOCUS and such as to know when to call fliptoGDI but without much success. Any ideas there?

And does anyone actually have a video card that doesn't have the the CanRenderWindow capability?.

That's weird, for system-modal dialogs, I usually get kicked out of full-screen mode, probably a driver thing.

3D-only add-ons, like Voodoo 1 and Voodoo 2 can't render to a window, and that's pretty much it.

Why not debug your app in window mode?

As for the assertion dialogs, you can easily write your own assertion handling code - it's very simple (just take a look at assert.h to see how to structure the macros).

------------------
-vince


-vince


I'm assuming you have the SDK? If so, check in the samples directory for DirectDraw. There's a little app there called fswindow. It displays a dialog box on top of the DDraw window. It can to for cards that support GDI or not. If you don't have the source, my email is mdat71@thrunet.com.
Thanks ppl.. but the problem is not about debugging but more when it is complete (even if I could do my own messages dialogs, I think I would like to user to see the CtrlAltEsc dialog when the user wants to bail out).

Has anyone try pressing ctrl alt esc while your application is running?.. do it, cancel and repeat a few times, see what happens.

The only way it seems now is to call fliptoGDI in the loop but I wonder about the performance hit. must test it out first.

Do you mean CTL/ALT/DELETE?

oh yes.. ctrl alt delete..

Shucks.. keep posting wrong things these days. guess 10 hrs of sleep per day not enough 8).

I am not sure that this will work but you can try something like this:

int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
lpCmdLine = lpCmdLine;
hPrevInstance = hPrevInstance;
if( !doInit( hInstance, nCmdShow ) )
{
return FALSE;
}
while( 1 )
{
updateFrame();
}
}

Fuuny the post was not fully sent.

Anyway. I was saying if I place a fliptoGDI call after the flip, everything works but then the fliptoGDI function doubles the time it takes to just call flip.

then I tried trapping CtrlAltDelete in the message handle and do a flipToGDI there only..hmm.. that wouldn't solve the problem

This topic is closed to new replies.

Advertisement