How to load a view in maximized mode by default in MFC





5.00/5 (6 votes)
Addresses the issue of opening a view in maximized mode the proper way in MFC.
Override
CFrameWnd::ActivateFrame
and pass SW_SHOWMAXIMIZED
to the base class function.
Code:
class CChildFrame : public CMDIChildWnd { // ... // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CChildFrame) public: virtual void ActivateFrame(int nCmdShow = -1); //}}AFX_VIRTUAL // ... };
void CChildFrame::ActivateFrame(int nCmdShow) { // TODO: Add your specialized code here and/or call the base class if (nCmdShow == -1) { // Show the window in maximized mode // if and only if it is the very first frame // Otherwise, do default for user conveniences // The user may prefer to keep a previously created view and // frame in restored (not maximized) mode // So, it is advisable to keep the newly created view and frame // in the same state as already created views if(GetNextWindow() == NULL && GetNextWindow(GW_HWNDPREV) == NULL) { nCmdShow = SW_SHOWMAXIMIZED; } } CMDIChildWnd::ActivateFrame(nCmdShow); }Thanks to http://www.codeguru.com/forum/showthread.php?t=380988[^].