Quando i gestori aggiornamenti sono denominati
Si supponga i clic del mouse su nel menu File, che genera un messaggio di WM_INITMENUPOPUP .Il meccanismo di aggiornamento del framework aggiorna collettivamente tutti gli elementi nel menu File prima che i menu a discesa del menu pertanto l'utente possano visualizzarle.
A questo scopo, le route del framework aggiornano i controlli per tutte le voci del menu di scelta rapida lungo il routing di comandi standard.Le destinazioni comando sul routing hanno la possibilità di aggiornare tutte le voci di menu corrispondente al comando di aggiornamento con una voce della mappa messaggi appropriata (del form ON_UPDATE_COMMAND_UI) e chiamando una funzione “del gestore aggiornamento„.Pertanto, per un menu con sei voci di menu, sei comandi di aggiornamento sono spediti.Se un gestore aggiornamento esiste per l'ID di comando della voce di menu, viene chiamato il metodo per indurre l'aggiornamento.In caso contrario, il framework per l'esistenza di un gestore per tale ID di comando e abilita o disabilita la voce di menu in base alle proprie esigenze.
Se il framework non trova una voce di ON_UPDATE_COMMAND_UI durante il routing dei comandi, abilita automaticamente l'oggetto dell'interfaccia utente se c " è una voce di ON_COMMAND in con la stessa identificazione di comandoIn caso contrario, disabilita l'oggetto dell'interfaccia utente.Di conseguenza, per assicurarsi che un oggetto interfaccia utente è abilitato, fornire un gestore per il comando che l'oggetto genera o fornire un gestore aggiornamento per.Vedere la figura nell'argomento Oggetti dell'interfaccia utente e ID di comando.
È possibile disabilitare disabilitare predefinito degli oggetti dell'interfaccia utente.Per ulteriori informazioni, vedere il membro di m_bAutoMenuEnable di classe CFrameWndin riferimenti alla libreria MFC.
L'inizializzazione del menu è automatica nel framework, verificantesi quando l'applicazione riceve un messaggio di WM_INITMENUPOPUP .Durante il ciclo inattivo, il framework esegue la ricerca del routing di comandi gestori aggiornamenti del pulsante anche per i menu.