CMenu::ModifyMenu

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap * pBmp );

Wartość zwracany

Niezerowa, jeśli funkcja jest skuteczne; inny sposób 0.

Parametry

nPosition

Określa element menu ma zostać zmienione. Parametr nFlags może służyć do interpretowania 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 ustawienie domyślne, gdy ani MF_BYCOMMAND , ani MF_BYPOSITION nie jest ustawiona.
MF_BYPOSITION Określa, że parametr podaje pozycję istniejący element menu. Pierwsza pozycja jest w położeniu 0.

nFlags

Określa, w jaki sposób interpretowane jest nPosition i podaje informacje o zmianach do elementu menu. Listę flagi, które mogą być ustawione zobacz opis funkcji członek AppendMenu zawsze zwraca.

nIDNewItem

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

lpszNewItem

Określa zawartość nowego elementu menu. Parametr nFlags może służyć do interpretowania lpszNewItem w następujący sposób:

nFlags Interpretacja lpszNewItem
MF_OWNERDRAW Zawiera wartość 32-bitowe dostarczone aplikacji, w aplikacji można używać do utrzymywania dodatkowych danych skojarzonych z elementu menu. Ta wartość 32-bitowych jest dostępnych dla tej aplikacji, gdy procesy MF_MEASUREITEM i MF_DRAWITEM.
MF_STRING Zawiera długą wskaźnik na ciąg zakończony wartością zerową lub CString.
MF_SEPARATOR Parametr lpszNewItem jest ignorowany, (zbędny).

pBmp

Punkty do obiektu CBitmap , który będzie używany jako element menu.

Uwagi

Zmienia istniejący element menu pozycji określonej przez nPosition. Wniosek określa nowy stan elementu menu przez ustawienie wartości nFlags. Jeśli ta funkcja zastępuje wyskakujące menu skojarzone z elementu menu, niszczy starych wyskakującego menu i zwolnienia pamięci używanej przez wyskakującego menu.

NIDNewItem określa wyskakujące menu, staje się częścią menu, w którym jest wstawiany. Jeśli zniszczenia tego menu, menu wstawiane również zostać zniszczone. Wstawiony menu powinno być zdjęte z obiektu CMenu w celu uniknięcia konfliktu.

Gdy menu, w którym znajduje się w oknie zostanie zmieniona (spasane lub nie jest wyświetlane okno), aplikacja powinna wywołać CWnd::DrawMenuBar. Aby zmienić atrybuty istniejących elementów menu, jest znacznie szybszy, aby użyć funkcji elementów członkowskich CheckMenuItem i EnableMenuItem.

Omówienie CMenu |nbsp; Klasa członków | Wykres hierarchii

Zobacz teżnbsp;CMenu::AppendMenu, CMenu::InsertMenu, CMenu::CheckMenuItem, CWnd::DrawMenuBar, CMenu::EnableMenuItem, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: ModifyMenu

Index