La funzione ModifyMenu cambia un elemento esistente dal menu. Questa funzione viene utilizzata per specificare il contenuto, l'aspetto e il comportamento della voce di menu.
La funzione ModifyMenu è stata sostituita dalla funzione SetMenuItemInfo . È comunque possibile utilizzare ModifyMenu, tuttavia, se non è necessario le funzionalità estese di SetMenuItemInfo.
(BOOL ModifyMenu HMENU hMnu, / / handle al menuUINTuPosition, / / la voce del menu per modificareUINTuFlags, / / voce di menu flagsUINTuIDNewItem, / / menu item identificatore o gestire a discesa / / menu o sottomenuLPCTSTRlpNewItem / / la voce del menu contenuti);
Valore | Significato |
---|---|
MF_BYCOMMAND | Indica che il parametro uPosition dà l'identificatore della voce di menu. La bandiera MF_BYCOMMAND è il valore predefinito se viene specificato il flag MF_BYCOMMAND né MF_BYPOSITION. |
MF_BYPOSITION | Indica che il parametro uPosition dà la posizione relativa in base zero della voce di menu. |
Valore | Significato |
---|---|
MF_BITMAP | Contiene un handle bitmap. |
MF_OWNERDRAW | Contiene un valore a 32 bit fornito da un'applicazione che viene utilizzata per mantenere i dati aggiuntivi relativi alla voce di menu. Il valore è nel membro itemData la struttura a cui puntata il parametro lparam della WM_MEASUREITEM o WM_DRAWITEM messaggi inviati quando viene creata la voce di menu o il suo aspetto è aggiornato. |
MF_STRING | Contiene un puntatore a una stringa null-terminated (predefinito). |
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni sull'errore esteso, chiamare GetLastError.
Se ModifyMenu sostituisce una voce di menu che si apre un menu a discesa menu o sottomenu, la funzione distrugge il vecchio menu a discesa menu o sottomenu e libera la memoria utilizzata da essa.
Al fine di tasti di scelta rapida lavorare con bitmap o voci di menu creati dal proprietario, il proprietario del menu deve elaborare il messaggio WM_MENUCHAR. Per ulteriori informazioni vedere Owner-Drawn menu e il messaggio di WM_MENUCHAR.
L'applicazione deve chiamare la funzione DrawMenuBar ogni volta che un menu varia, o meno il menu è in una finestra visualizzata. Per modificare gli attributi delle voci di menu esistenti, è molto più veloce di utilizzare le funzioni CheckMenuItem ed EnableMenuItem.
Nell'elenco seguente vengono descritti i flag che possono essere impostati nel parametro uFlags:
Valore | Significato |
---|---|
MF_BITMAP | Utilizza una bitmap come la voce di menu. Il parametro lpNewItem contiene l'handle alla bitmap. |
MF_BYCOMMAND | Indica che il parametro uPosition specifica l'identificatore della voce di menu (predefinito). |
MF_BYPOSITION | Indica che il parametro uPosition specifica la posizione relativa in base zero della nuova voce di menu. |
MF_CHECKED | Inserisce un segno di spunta accanto all'elemento. Se l'applicazione fornisce le bitmap di segno di spunta (vedi la funzione SetMenuItemBitmaps ), questo flag verrà visualizzata una bitmap selezionata accanto alla voce di menu. |
MF_DISABLED | Disabilita la voce di menu, in modo che esso non può essere selezionato, ma questo flag non di grigio. |
MF_ENABLED | Consente la voce di menu che possono essere selezionato e Ripristina dal suo stato grigio. |
MF_GRAYED | Consente di disattivare la voce di menu e grigi esso così che esso non può essere selezionata. |
MF_MENUBARBREAK | Funzioni lo stesso come il MF_MENUBREAK bandiera per una barra dei menu. Per un menu a discesa, sottomenu o menu di scelta rapida, la nuova colonna è separata dalla vecchia colonna da una linea verticale. |
MF_MENUBREAK | Pone la voce su una nuova linea (per le barre dei menu) o in una nuova colonna (per un menu a discesa, sottomenu o menu di scelta rapida) senza separare colonne. |
MF_OWNERDRAW | Specifica che l'elemento è un elemento dal proprietario. Prima che il menu viene visualizzato per la prima volta, la finestra che possiede il menu riceve un messaggio WM_MEASUREITEM per recuperare la larghezza e l'altezza della voce di menu. Il messaggio WM_DRAWITEM viene quindi inviato alla routine della finestra della finestra proprietario ogni volta che l'aspetto della voce di menu deve essere aggiornato. |
MF_POPUP | Specifica che la voce di menu si apre un menu a discesa menu o sottomenu. Il parametro uIDNewItem specifica l'handle per il menu a discesa menu o sottomenu. Questo flag viene utilizzato per aggiungere un nome di menu a una barra dei menu o una voce di menu che si apre un sottomenu in un menu a discesa, sottomenu o menu di scelta rapida. |
MF_SEPARATOR | Disegna una linea di divisione orizzontale. Questo flag viene utilizzato solo in un menu a discesa, sottomenu o menu di scelta rapida. La linea non può essere in grigio, disabilitata o evidenziata. Vengono ignorati i parametri lpNewItem e uIDNewItem. |
MF_STRING | Specifica che la voce di menu è una stringa di testo; il parametro lpNewItem punta alla stringa. |
MF_UNCHECKED | Non inserire un segno di spunta accanto all'elemento (impostazione predefinita). Se l'applicazione fornisce le bitmap di segno di spunta (vedi la funzione SetMenuItemBitmaps ), questo flag verrà visualizzata una bitmap selezionata accanto alla voce di menu. |
I seguenti gruppi di bandiere non possono essere utilizzati insieme:
Panoramica di menu, Menu funzioni, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM
Rimedio: Inserire il CD-ROM CD di MSDN Library.