Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All


Call this member function to obtain a handle to the current pop-up menu named "Window" (the pop-up menu with menu items for MDI window management).

virtual HMENU GetWindowMenuPopup( 
   HMENU hMenuBar  


The current menu bar.

The Window pop-up menu if one exists; otherwise NULL.

The default implementation looks for a pop-up menu containing standard Window menu commands such as ID_WINDOW_NEW and ID_WINDOW_TILE_HORZ.

Override this member function if you have a Window menu that does not use the standard menu command IDs.

// CMainFrame::OnActivateFirstMDIChild() is a menu command handler for 
// CMainFrame class, which in turn is a CMDIFrameWnd-derived class. 
// It looks for the caption of the first created MDI child window from 
// the Window popup menu, and then activate the child window. 
void CMainFrame::OnActivateFirstMDIChild() 
   // Get handle to the Window pop-up menu.
   CMenu* menubar = GetMenu();
   CMenu* wmenu = CMenu::FromHandle(GetWindowMenuPopup(menubar->GetSafeHmenu()));
   if (wmenu == NULL)

   // Get the caption of the first created MDI child window.
   CString caption;
   if (!wmenu->GetMenuString(AFX_IDM_FIRST_MDICHILD, caption, MF_BYCOMMAND))

   // Get the actual name of the first created MDI child window by  
   // getting rid of the number and space, e.g. "&1 MDI 1".
   int pos = caption.FindOneOf(_T(" "));
   if (pos == -1)

   caption = caption.Right(caption.GetLength() - (pos + 1));

   // Get the CWnd* of the first created MDI child window by comparing 
   // the caption of each MDI child window in the MDI application.  
   // Activate the first created MDI child window if found.
   CMDIChildWnd* child = MDIGetActive();
      CString str;
      if (str == caption)
         child->MDIActivate();        // or MDIActivate(child); 

      child = (CMDIChildWnd*) child->GetWindow(GW_HWNDNEXT);
   while (child);

Header: afxwin.h

© 2015 Microsoft