Udostępnij za pośrednictwem


CMenu::ModifyMenu

Zmienia istniejący element menu pozycji określonej przez nPosition.

BOOL ModifyMenu(
   UINT nPosition,
   UINT nFlags,
   UINT_PTR nIDNewItem = 0,
   LPCTSTR lpszNewItem = NULL 
);
BOOL ModifyMenu(
   UINT nPosition,
   UINT nFlags,
   UINT_PTR nIDNewItem,
   const CBitmap* pBmp 
);

Parametry

  • nPosition
    Określa element menu ma zostać zmieniony.nFlags Parametru można interpretować nPosition w następujący sposób:

    nFlags

    Interpretacja nPosition

    MF_BYCOMMAND

    Określa, że parametr podaje identyfikator polecenia istniejący element menu.Jest to wartość domyślna, jeśli żadna MF_BYCOMMAND ani MF_BYPOSITION jest ustawiona.

    MF_BYPOSITION

    Określa, że parametr podaje położenie istniejący element menu.Pierwszy element jest w położeniu 0.

  • nFlags
    Określa, jak nPosition jest interpretowana i podaje informacje o zmianach do elementu menu.Listę flag, które mogą być ustawione, zobacz AppendMenu zawsze funkcji składowej.

  • nIDNewItem
    Określa identyfikator polecenia elementu menu zmodyfikowanych lub, jeśli nFlags jest ustawiona na MF_POPUP, uchwyt menu (HMENU) z wyskakującego menu.nIDNewItem Parametr jest ignorowany (nie jest to potrzebne), jeśli nFlags jest ustawiona na MF_SEPARATOR.

  • lpszNewItem
    Określa zawartość nowego elementu menu.nFlags Parametru można interpretować lpszNewItem w następujący sposób:

    nFlags

    Interpretacja lpszNewItem

    MF_OWNERDRAW

    Zawiera wartość 32-bitowe dostarczone aplikacji używające aplikacji do obsługi dodatkowych danych skojarzone z elementem menu.Ta wartość 32-bitowe jest dostępne do aplikacji podczas przetwarzania MF_MEASUREITEM i MF_DRAWITEM.

    MF_STRING

    Zawiera wskaźnik długi ciąg zakończony znakiem null lub CString.

    MF_SEPARATOR

    lpszNewItem Parametr jest ignorowany (nie jest konieczne).

  • pBmp
    Wskazuje na CBitmap obiekt, który będzie używany jako element menu.

Wartość zwracana

Niezerowa, jeśli funkcja jest pomyślne; 0 inaczej.

Uwagi

Aplikacja Określa nowy stan elementu menu przez ustawienie wartości nFlags.Jeśli ta funkcja zastępuje skojarzone z elementem menu wyskakujące menu, niszczy stare menu wyskakującego i zwalnia pamięć używaną przez wyskakującego menu.

Gdy nIDNewItem określa wyskakującego menu, staje się częścią menu, w którym jest wstawiany.Jeśli zniszczenia tego menu, menu wstawionego również zostać zniszczone.Wstawiony menu powinny być odłączone od CMenu obiekt, aby uniknąć konfliktu.

W przypadku, gdy menu rezyduje w oknie zostanie zmieniona (lub nie jest wyświetlane okno), aplikacja powinna wywołać CWnd::DrawMenuBar.Aby zmienić atrybuty istniejące elementy menu, jest znacznie szybsze, aby użyć CheckMenuItem i EnableMenuItem funkcji elementów członkowskich.

Przykład

Zobacz przykład dla CMenu::InsertMenu.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CMenu

Wykres hierarchii

CMenu::AppendMenu

CMenu::InsertMenu

CMenu::CheckMenuItem

CWnd::DrawMenuBar

CMenu::EnableMenuItem

CMenu::SetMenuItemBitmaps

CMenu::Detach

ModifyMenu