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