DOCUMENT:Q142317 16-AUG-2001 [visualc] TITLE :HOWTO: How to Create a Minimized/Maximized MDI Child Window PRODUCT :Microsoft C Compiler PROD/VER::1.0,1.5,1.51,1.52,2.0,2.1,2.2,4.0 OPER/SYS: KEYWORDS:kbDocView kbMFC KbUIDesign kbVC kbGrpDSMFCATL ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - The Microsoft Foundation Classes (MFC), used with: - Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5, 1.51, 1.52 - Microsoft Visual C++, 32-bit Editions, versions 1.0, 2.0, 2.1, 2.2, 4.0 ------------------------------------------------------------------------------- SUMMARY ======= To create an initially minimized or maximized document in an MDI application, derive a class from CMDIChildWnd and override ActivateFrame(). In the ActivateFrame() member function, call the ActivateFrame() function in the base class, and pass SW_SHOWMINIMIZED or SW_SHOWMAXIMIZED as the parameter. MORE INFORMATION ================ If you're using a version of Visual C++ earlier than 4.0, it is necessary to derive a class from CMDIChildWnd and substitute the new class name in the CMultiDocTemplate used in your CWinApp-derived InitInstance() function. To do so, use ClassWizard to add a class called CChildFrame derived from CMDIChildWnd. Include the header file in your application's .cpp file. Then change the line indicated below in your InitInstance() function: CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_MDIAPPTYPE, RUNTIME_CLASS(CMDIAppDoc), RUNTIME_CLASS(CChildFrame), // change CMDIChildWnd to CChildFrame RUNTIME_CLASS(CMDIAppView)); AddDocTemplate(pDocTemplate); In Visual C++ 4.0, deriving a class from CMDIChildWnd is not required because one is already provided for you. In the CChildFrame class, override the ActivateFrame() member function as follows: void CChildFrame::ActivateFrame(int nCmdShow) { if (nCmdShow == -1) nCmdShow = SW_SHOWMAXIMIZED; CMDIChildWnd::ActivateFrame(nCmdShow); } Additional query words: kbinf 1.00 2.00 2.10 2.20 4.00 1.50 PreCreateWindow CREATESTRUCT CChildFrame Maximized WS_MAXIMIZE Cs.style ====================================================================== Keywords : kbDocView kbMFC KbUIDesign kbVC kbGrpDSMFCATL Technology : kbAudDeveloper kbMFC Version : :1.0,1.5,1.51,1.52,2.0,2.1,2.2,4.0 Issue type : kbhowto ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.