ModifyMenu

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);
 

Parametri

hMnu
Gestire il menu da modificare.
uPosition
Consente di specificare la voce di menu per essere cambiato, come determinato dal parametro uFlags.
uFlags
Specifica i flag che controllano l'interpretazione del parametro uPosition e il contenuto, aspetto e del comportamento della voce di menu. Questo parametro deve essere una combinazione di uno dei seguenti valori richiesti e almeno uno dei valori elencati nella seguente sezione Osservazioni.
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.

uIDNewItem
Specifica l'identificatore della voce di menu modificato o, se il parametro uFlags ha impostato il flag MF_POPUP, l'handle per il menu a discesa menu o sottomenu.
lpNewItem
Puntatore al contenuto della voce di menu modificati. L'interpretazione di questo parametro dipende se il parametro uFlags include il flag MF_BITMAP, MF_OWNERDRAW o MF_STRING.
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).

Valori restituiti

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.

Osservazioni

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:

Vedi anche

Panoramica di menu, Menu funzioni, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index