CMenu::GetMenuItemInfo
Bir menü öğesi hakkında bilgi alır.
BOOL GetMenuItemInfo(
UINT uItem,
LPMENUITEMINFO lpMenuItemInfo,
BOOL fByPos = FALSE
);
Parametreler
uItem
Tanımlayıcı veya hakkında bilgi almak için menü öğesinin konumu. Bu parametrenin anlamý durumunun değerine bağlı ByPos.lpMenuItemInfo
Bir işaretçi bir MENUITEMINFO, açıklandığı gibi Windows SDK, menü hakkında bilgi içerir.fByPos
Ne anlama geldiğini belirten değeri nIDItem. Varsayılan olarak, ByPos olan yanlış, o uItem gösterir bir menü öğesi tanımlayıcısıdır. ByPos Ayarlanmamışsa yanlış, menü öğesi konumunu gösterir.
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri sıfır olmayan bir değer. İşlev başarısız olursa, dönüş değeri sıfırdır. Genişletilmiş hata bilgilerini için Win32 fonksiyonu kullanmak GetLastError, açıklandığı gibi Windows SDK.
Notlar
Bu üye işlev davranışını uygulayan Win32 işlevinin GetMenuItemInfo, açıklandığı gibi Windows SDK. mfc uygulaması, dikkat GetMenuItemInfo, bir menü için bir tanıtıcı kullanmayın.
Örnek
// 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);
}
Gereksinimler
Başlık: afxwin.h