CMenu::GetMenuState
Zwraca stan elementu menu określony lub liczba elementów w wyskakującym menu.
UINT GetMenuState(
UINT nID,
UINT nFlags
) const;
Parametry
nID
Określa identyfikator elementu menu, określone przez nFlags.nFlags
Określa charakter nID.Mogą to być jedna z następujących wartości:MF_BYCOMMAND Określa, że parametr podaje identyfikator polecenia istniejący element menu.Domyślnie włączone.
MF_BYPOSITION Określa, że parametr podaje położenie istniejący element menu.Pierwszy element jest w położeniu 0.
Wartość zwracana
Wartość 0xFFFFFFFF, jeśli określony element nie istnieje.Jeśli nId identyfikuje wyskakujące menu znaczącym bajcie zawiera liczbę elementów w menu podręcznym, a bajcie flagi menu skojarzone z wyskakującego menu.W przeciwnym razie zwracana jest wartość maski (Boolean lub) wartości z poniższej listy (Ta maska opisuje stan menu Pozycja, która nId identyfikuje):
MF_CHECKED działa jako przełącznik z MF_UNCHECKED do domyślnego znacznika wyboru obok elementu.Gdy aplikacja dostaw bitmapy znacznik wyboru (zobacz SetMenuItemBitmaps Członkowskich funkcji), mapy bitowej "znacznik na" jest wyświetlany.
MF_DISABLED wyłącza element menu, tak że nie może być wybrany, ale nie dim.
MF_ENABLEDUmożliwia element menu, który można wybrać i przywraca go od jego stanu jako wygaszone.Należy zauważyć, że wartość ta stała jest równa 0; Aplikacja nie należy przetestować przed 0 w przypadku awarii podczas używania tej wartości.
MF_GRAYED wyłącza element menu, który nie może być wybrany i przyciemnia go.
MF_MENUBARBREAK umieszcza element w nowym wierszu statyczne menu lub nowej kolumny w wyskakujących menu.Nową kolumnę z wyskakującego menu będą rozdzielane z kolumny stare pionowa linia podziału.
MF_MENUBREAK umieszcza element w nowym wierszu statyczne menu lub nowej kolumny w wyskakujących menu.Nie wyraźnej linii jest umieszczony między kolumnami.
MF_SEPARATOR rysuje linię podziału.Można używane tylko w wyskakującym menu.Ten wiersz nie wygaszone, wyłączony lub wyróżnione.Inne parametry są ignorowane.
MF_UNCHECKED działa jako przełącznik z MF_CHECKED , aby usunąć znacznik wyboru obok elementu.Gdy aplikacja dostaw bitmapy znacznik wyboru (zobacz SetMenuItemBitmaps Członkowskich funkcji), mapy bitowej "znacznik wyboru off" jest wyświetlany.Należy zauważyć, że wartość ta stała jest równa 0; Aplikacja nie należy przetestować przed 0 w przypadku awarii podczas używania tej wartości.
Przykład
// CMainFrame::OnToggleTestMenuState() is a menu command handler for
// "Toggle State" menu item (whose resource id is ID_MENU_TOGGLESTATE).
// It toggles the checked or unchecked state of the "Toggle State" menu item.
// CMainFrame is a CFrameWnd-derived class.
void CMainFrame::OnToggleTestMenuState()
{
// Get the popup menu which contains the "Toggle State" menu item.
CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(4);
// Check the state of the "Toggle State" menu item. Check the menu item
// if it is currently unchecked. Otherwise, uncheck the menu item
// if it is not currently checked.
UINT state = submenu->GetMenuState(ID_MENU_TOGGLESTATE, MF_BYCOMMAND);
ASSERT(state != 0xFFFFFFFF);
if (state & MF_CHECKED)
submenu->CheckMenuItem(ID_MENU_TOGGLESTATE, MF_UNCHECKED | MF_BYCOMMAND);
else
submenu->CheckMenuItem(ID_MENU_TOGGLESTATE, MF_CHECKED | MF_BYCOMMAND);
}
Wymagania
Nagłówek: afxwin.h