A customer wanted to know how to get the effect of CW_USEDEFAULT
positioning on a window that already exists. In particular, they wanted to be able to reposition a dialog box to get the CW_USEDEFAULT
cascade effect, but since you can’t actually pass CW_USEDEFAULT
in a dialog template, the repositioning has to be done after the fact. (Presumably in the WM_INITDIALOG
handler, which runs before the dialog is visible, so that there is no visible flicker.)
The solution here is simple: Create a temporary invisible window with CW_USEDEFAULT
as its position and the same height and width as your dialog box. See where the window manager puts that temporary window and move your dialog box to match that position. Then destroy the temporary window.
0 comments