views:

23

answers:

0

I have a win32 app which uses DialogBox() to display its main window.

I now want to start this app up with the dialog box invisible, and later set it visible with SetWindowPos(hDlg, HWND_TOPMOST, ...

Unfortunately

http://msdn.microsoft.com/en-us/library/ms645452(VS.85).aspx

The function displays the dialog box (regardless of whether the template specifies the WS_VISIBLE style)

... it seems that there's no way of doing this using DialogBox().

I could add a call to SetWindowPos(hDlg, HWND_NOTOPMOST...

in my dialog procedure in the WM_INITDIALOG handler.

... but I'm concerned that under heavy system loading the dialog box will briefly appear then disappear, giving an ugly flicker effect.

Is there a way of creating my dialog box via DialogBox() without showing it?