The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.



Creates the MDI client window that manages the CMDIChildWnd objects.

      virtual BOOL CreateClient(
   LPCREATESTRUCT lpCreateStruct,
   CMenu* pWindowMenu 


A long pointer to a CREATESTRUCT structure.


A pointer to the Window pop-up menu.

Nonzero if successful; otherwise 0.

This member function should be called if you override the OnCreate member function directly.


// The code below is from winmdi.cpp. It shows how to 
// call CMDIFrameWnd::CreateClient(). CMainFrame is a 
// CMDIFrameWnd-derived class.
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* /*pContext*/)
   CMenu* pMenu = NULL;
	if (m_hMenuDefault == NULL)
		// default implementation for MFC V1 backward compatibility
		pMenu = GetMenu();
		ASSERT(pMenu != NULL);
		// This is attempting to guess which sub-menu is the Window menu.
		// The Windows user interface guidelines say that the right-most
		// menu on the menu bar should be Help and Window should be one
		// to the left of that.
		int iMenu = pMenu->GetMenuItemCount() - 2;

		// If this assertion fails, your menu bar does not follow the guidelines
		// so you will have to override this function and call CreateClient
		// appropriately or use the MFC V2 MDI functionality.
		ASSERT(iMenu >= 0);
		pMenu = pMenu->GetSubMenu(iMenu);
		ASSERT(pMenu != NULL);

	return CreateClient(lpcs, pMenu);


Header: afxwin.h