GUI: DIalog Stacking and Popping in MS C++
Posted on 2016-08-16
Using MFC C++ in VS2015. Want to create a GUI that is essentially 5 full-screen panels, and the user flips between them as needed. Would like to have these panels all "up" and initialized, but just showing one "on top". When the user clicks a button to go to another panel, would just like to pop that one on the top of the stack.
I'm thinking this might flip faster and look better than how it works now, which is 'close one panel, open another'. Part of the current problem is that windows does this 'fancy' animation thing of making windows look like they 'grow' as they pop into place. Normally that is cute, but in this case, looks weird. Any way to turn that off?
There are so many choices and hacks to try to get dialogs to do what you want, I was wondering if anyone had some basic guidance to steer me through the choices. For example: can they all be modal? or better if they are modeless? should they all be a "child" of one master dialog or does it matter?
And, I've tried a lot of things to try to "pop a dialog" to the top (like 'SwitchToThisWindow', and 'SetForegoundWindow', and 'BrindWindowToTop', etc) and they don't really work, but perhaps that because I should make the dialogs modeless (they are modal now), or maybe its due to a certain parent-child tree that I should have.