I am working on an application where I want to open resizable dialogs the same size and at the location asthe previous time they were closed. I currently do this in the destructor of the main component.
int x=getScreenX();
int y=getScreenY();
int w=getParentWidth();
int h=getParentHeight();
Then in main.cpp when creating the window I have this:
setTopLeftPosition(x-1,y-27);
vp->setSize(w,h+18); // vp is a viewport.
This works fine on windows 7, but on windows 2008, the size gets taller every time. I think I should be able to set the position to (x,y) and the size to (w,h), but why doesn't this work? The fact that I have these fudge numbers added indicates I am clearing getting the wrong size and position information, or setting it incorrectly.
I have the same problems with other dialogs opened from within this window. Anyone know how I should be doing this?