CMenu::AppendMenu
Viene aggiunto un nuovo elemento alla fine di un menu.
BOOL AppendMenu(
UINT nFlags,
UINT_PTR nIDNewItem = 0,
LPCTSTR lpszNewItem = NULL
);
BOOL AppendMenu(
UINT nFlags,
UINT_PTR nIDNewItem,
const CBitmap* pBmp
);
Parametri
nFlags
Specifica le informazioni sullo stato della nuova voce di menu quando viene aggiunto al menu.È costituito da uno o più dei valori riportati nella sezione relativa alle osservazioni.nIDNewItem
Specifica l'id di comando nuova voce di menu o, 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 viene utilizzato per interpretare in modo lpszNewItem seguente: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 WM_MEASUREITEM e messaggi WM_DRAWITEM.Il valore viene memorizzato nel membro itemData della struttura fornita con i messaggi.
MF_STRING
Contiene un puntatore a una stringa con terminazione null.Si tratta dell'interpretazione predefinita.
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 può specificare lo stato della voce di menu impostando i valori in nFlags.Quando nIDNewItem specifica un menu di scelta rapida, diventa parte del menu a cui viene aggiunta.Se il menu viene eliminato, il menu aggiunto viene distrutto.Un menu aggiunto deve essere rimosso da un oggetto CMenu per evitare il conflitto.Si noti che MF_STRING e MF_OWNERDRAW non sono validi per la versione bitmap AppendMenu.
Nell'elenco seguente vengono descritti i flag che possono essere impostati in nFlags:
MF_CHECKED funge da passare dallo stato di esecuzione con MF_UNCHECKED per posizionare il segno di spunta predefinito accanto all'elemento.Quando l'applicazione fornisce le bitmap del segno di spunta (vedere la funzione membro SetMenuItemBitmaps ), il segno di spunta su" bitmap visualizzare.
MF_UNCHECKED funge da passare dallo stato di esecuzione con MF_CHECKED per rimuovere un segno di spunta accanto all'elemento.Quando l'applicazione fornisce le bitmap del segno di spunta (vedere la funzione membro SetMenuItemBitmaps ), il segno di spunta out" bitmap da visualizzare.
MF_DISABLED disabilita la voce di menu in modo che non possa selezionare ma non di attenuare.
MF_ENABLED abilita la voce di menu in modo da poter selezionare e ripristinare il relativo stato attenuato.
MF_GRAYED disabilita la voce di menu in modo che non possa selezionare e la vengono visualizzati.
MF_MENUBARBREAK posiziona l'elemento in una nuova riga nei menu statici o in una nuova colonna nel menu di scelta rapida.La nuova colonna del menu di scelta rapida viene separata dalla colonna recente da una linea di divisione verticale.
MF_MENUBREAK posiziona l'elemento in una nuova riga nei menu statici o in una nuova colonna nel menu di scelta rapida.Alcuna linea di divisione viene inserita tra le colonne.
MF_OWNERDRAW specificare che l'elemento è un elemento del disegno personalizzato.Quando viene visualizzato il menu per la prima volta, la finestra proprietaria del menu riceve un messaggio WM_MEASUREITEM, che recupera l'altezza e la larghezza della voce di menu.Il messaggio WM_DRAWITEM è quello inviato ogni volta che il proprietario deve aggiornare l'aspetto visivo della voce di menu.Questa opzione non è valida per una voce di menu di primo livello.
MF_POPUP specifica che la voce di menu ha un menu di scelta rapida associato.Il parametro specifica l'id handle a un menu di scelta rapida che deve essere associato all'elemento.Viene utilizzato per aggiungere un menu di scelta rapida di primo livello o menu di scelta rapida gerarchico a un elemento di menu di scelta rapida.
MF_SEPARATOR disegna una linea di divisione orizzontale.Può essere utilizzato solo in un menu di scelta rapida.Questa riga non può essere visualizzata in grigio, disabilitata, o essere evidenziata.Altri parametri vengono ignorati.
MF_STRING specifica che la voce di menu è una stringa di caratteri.
Ognuno dei seguenti flag degli elenchi dei gruppi che si escludono a esclusivo e non può essere utilizzato insieme:
MF_DISABLED, MF_ENABLEDe MF_GRAYED
MF_STRING, MF_OWNERDRAW, MF_SEPARATORe la versione bitmap
MF_MENUBARBREAK e MF_MENUBREAK
MF_CHECKED e MF_UNCHECKED
Ogni volta che un menu che si trova in una finestra viene modificato (se la finestra visualizzata), l'applicazione deve chiamare CWnd::DrawMenuBar.
Esempio
Vedere l'esempio relativo CMenu::CreateMenu.
Requisiti
Header: afxwin.h