It's still an MDI application. I have my own "document" architecture. Each childframe could be displaying one of many views, and the dockable windows around the childframe will change based on which view is being displayed. Kind of like in VS where if you go from a standard c++ file to a dialog editor, it changes the properties box to the control toolbox.