Modifiche dal menu

Diverse funzioni consentono di modificare un menu dopo che è stato caricato o creato. Questi cambiamenti possono includere aggiungendo o rimuovendo le voci di menu e modificando le voci del menu.

Per aggiungere una voce di menu, utilizzare la funzione InsertMenuItem . È possibile utilizzare la funzione SetMenuItemInfo per modificare gli attributi di un elemento esistente dal menu. Il parametro lpmii punta a una struttura MENUITEMINFO , che contiene i nuovi attributi e consente di specificare gli attributi che per cambiare. Gli attributi di una voce di menu includono il suo tipo, stato, identificatore, sottomenu, bitmap, i dati dell'elemento e testo.

Le precedenti funzioni AppendMenu e InsertMenu consente anche di aggiungere voci di menu, ma nuove applicazioni dovrebbero utilizzare InsertMenuItem. La funzione AppendMenu aggiunge una voce di menu alla fine di un menu o sottomenu; la funzione InsertMenu inserisce una voce di menu in una posizione specificata in un menu o sottomenu. Entrambe le funzioni permettono gli attributi della voce di menu da precisare, anche se la voce di menu è abilitato, disabili, grigio, checked o unchecked.

Per modificare gli attributi di un elemento esistente dal menu o aspetto, utilizzare la funzione ModifyMenu . Ad esempio, la stringa di testo o bitmap di una voce di menu può essere attivata, disabili, grigio, controllato o incontrollato. La funzione ModifyMenu sostituisce l'elemento di menu specificata con un nuovo elemento.

Per recuperare informazioni su una voce di menu, utilizzare la funzione GetMenuItemInfo . Il parametro lpmii punta a una struttura MENUITEMINFO , che specifica gli attributi per recuperare e riceve i loro valori correnti.

Per eliminare una voce di menu da un menu, utilizzare la funzione DeleteMenu o RemoveMenu . Se l'elemento da eliminare è uno che si apre un sottomenu, DeleteMenu elimina il sottomenu associato, scartando l'handle di menù e liberando la memoria utilizzata dal sottomenu. La funzione RemoveMenu consente di eliminare una voce di menu, ma se l'elemento si apre un sottomenu, la funzione non distrugge il sottomenu o suo manico, permettendo il sottomenu essere riutilizzata.

Per ridisegnare la barra dei menu, dopo che è stata modificata una barra dei menu, utilizzare la funzione DrawMenuBar . In caso contrario, le modifiche non verranno visualizzate fino a quando il sistema ridisegna la finestra proprietaria.

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

Index