Freigeben über


CMenu::GetMenuItemInfo

Ruft Informationen über ein Menüelement ab.

BOOL GetMenuItemInfo( 
   UINT uItem, 
   LPMENUITEMINFO lpMenuItemInfo, 
   BOOL fByPos = FALSE  
);

Parameter

  • uItem
    Bezeichner oder Position des Menüelements, Informationen abgerufen. Die Bedeutung dieses Parameters hängt vom Wert von ByPos ab.

  • lpMenuItemInfo
    Ein Zeiger auf MENUITEMINFO, wie in Windows SDK beschrieben, der Informationen über das Menü enthält.

  • fByPos
    Wert, der die Wichtigkeit von nIDItem angibt. Standardmäßig ist ByPosFALSE, das dieses uItem ist ein Menüelementbezeichner angibt. Wenn ByPos nicht zu FALSE festgelegt ist, gibt es eine Menüelementposition an.

Rückgabewert

Wenn die Funktion folgt, ist der Rückgabewert ungleich 0 (null). Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Um erweiterte Fehlerinformationen abzurufen, verwenden Sie die Win32-Funktion GetLastError, wie in Windows SDK beschrieben.

Hinweise

Diese Memberfunktion implementiert das Verhalten von der Win32-Funktion GetMenuItemInfo, wie in Windows SDK beschrieben. Beachten Sie das in der MFC-Implementierung von GetMenuItemInfo, Sie verwenden ein Handle nicht zu einem Menü.

Beispiel

// CMainFrame::OnToggleTestMenuInfo() is a menu command handler for  
// "Toggle Info" menu item (whose resource id is ID_MENU_TOGGLEINFO). It 
// toggles the checked or unchecked state of the "Toggle Info" menu item.
// CMainFrame is a CFrameWnd-derived class. 
void CMainFrame::OnToggleTestMenuItemInfo()
{
   // Get the popup menu which contains the "Toggle Info" menu item.
   CMenu* mmenu = GetMenu();
   CMenu* submenu = mmenu->GetSubMenu(4);

   // Check the state of the "Toggle Info" menu item. Check the menu item
   // if it is currently unchecked. Otherwise, uncheck the menu item 
   // if it is not currently checked.
   MENUITEMINFO info;
   info.cbSize = sizeof (MENUITEMINFO); // must fill up this field
   info.fMask = MIIM_STATE;             // get the state of the menu item
   VERIFY(submenu->GetMenuItemInfo(ID_MENU_TOGGLEINFO, &info));

   if (info.fState & MF_CHECKED)
      submenu->CheckMenuItem(ID_MENU_TOGGLEINFO, MF_UNCHECKED | MF_BYCOMMAND);
   else
      submenu->CheckMenuItem(ID_MENU_TOGGLEINFO, MF_CHECKED | MF_BYCOMMAND);
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CMenu-Klasse

Hierarchiediagramm

CWnd::GetMenu

CMenu::GetMenuItemCount

CMenu::GetMenuItemID