Condividi tramite


CMenu::ModifyMenu

Modifica una voce di menu esistente nella posizione specificata da 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 
);

Parametri

  • nPosition
    Specifica la voce di menu da modificare.Il parametro nFlags può essere utilizzato per interpretare nPosition nei modi seguenti:

    nFlags

    Interpretazione di nPosition

    MF_BYCOMMAND

    Specifica che il parametro fornisce l'id di comando voce di menu esistente.Questa è l'impostazione predefinita se non MF_BYCOMMANDMF_BYPOSITION è impostato su.

    MF_BYPOSITION

    Specifica che il parametro fornisce la posizione della voce di menu esistente.Il primo elemento è la posizione 0.

  • nFlags
    Specifica come nPosition viene interpretato e fornisce informazioni sulle modifiche da apportare alla voce di menu.Per un elenco di flag che possono essere impostati, vedere la funzione membro AppendMenu.

  • nIDNewItem
    Specifica l'id di comando voce di menu o modificata, se nFlags è impostato su MF_POPUP, l'handle del menu (HMENU) di un menu di scelta rapida.Il parametro nIDNewItem viene ignorato e non necessario) se nFlags è impostato su MF_SEPARATOR.

  • lpszNewItem
    Specifica il contenuto della nuova voce di menu.Il parametro nFlags può essere utilizzato per interpretare lpszNewItem nei modi seguenti:

    nFlags

    Interpretazione di lpszNewItem

    MF_OWNERDRAW

    Contiene un valore a 32 bit applicazione fornito l'applicazione può utilizzare per gestire i dati aggiuntivi associati alla voce di menu.Questo valore a 32 bit è disponibile all'applicazione durante l'elaborazione MF_MEASUREITEM e MF_DRAWITEM.

    MF_STRING

    Contiene un puntatore lungo una stringa con terminazione null o a CString.

    MF_SEPARATOR

    Il parametro lpszNewItem viene ignorato e non necessario).

  • pBmp
    Punta a CBitmap oggetto che verrà utilizzato come la voce di menu.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario 0.

Note

L'applicazione specifica il nuovo stato della voce di menu impostando i valori in nFlags.Se questa funzione sostituisce un menu di scelta rapida associato alla voce di menu, elimina il menu di scelta rapida precedente e libera la memoria utilizzata dal menu di scelta rapida.

Quando nIDNewItem specifica un menu di scelta rapida, diventa parte del menu in cui viene inserita.Se il menu viene eliminato, il menu immesso viene distrutto.Un menu immesso deve essere rimosso da un oggetto CMenu per evitare il conflitto.

Ogni volta che un menu che si trova in una finestra viene modificato (se la finestra visualizzata), l'applicazione deve chiamare CWnd::DrawMenuBar.Per modificare gli attributi delle voci di menu esistenti, è molto più veloce utilizzare le funzioni membro EnableMenuItem e CheckMenuItem.

Esempio

Vedere l'esempio relativo CMenu::InsertMenu.

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe di CMenu

Grafico della gerarchia

CMenu::AppendMenu

CMenu::InsertMenu

CMenu::CheckMenuItem

CWnd::DrawMenuBar

CMenu::EnableMenuItem

CMenu::SetMenuItemBitmaps

CMenu::Detach

ModifyMenu