Condividi tramite


Classe CCmdUI

Viene usato solo all'interno di un ON_UPDATE_COMMAND_UI gestore in una CCmdTargetclasse derivata da .

Sintassi

class CCmdUI

Membri

Metodi pubblici

Nome Descrizione
CCmdUI::ContinueRouting Indica al meccanismo di routing dei comandi di continuare a instradare il messaggio corrente verso il basso nella catena di gestori.
CCmdUI::Enable Abilita o disabilita l'elemento dell'interfaccia utente per questo comando.
CCmdUI::SetCheck Imposta lo stato di controllo dell'elemento dell'interfaccia utente per questo comando.
CCmdUI::SetRadio Come la SetCheck funzione membro, ma opera su gruppi di radio.
CCmdUI::SetText Imposta il testo per l'elemento dell'interfaccia utente per questo comando.

Membri dati pubblici

Nome Descrizione
CCmdUI::m_nID ID dell'oggetto dell'interfaccia utente.
CCmdUI::m_nIndex Indice dell'oggetto dell'interfaccia utente.
CCmdUI::m_pMenu Punta al menu rappresentato dall'oggetto CCmdUI .
CCmdUI::m_pOther Punta all'oggetto finestra che ha inviato la notifica.
CCmdUI::m_pSubMenu Punta al sottomenu contenuto rappresentato dall'oggetto CCmdUI .

Osservazioni:

CCmdUI non dispone di una classe di base.

Quando un utente dell'applicazione trascina verso il basso un menu, ogni voce di menu deve sapere se deve essere visualizzata come abilitata o disabilitata. La destinazione di un comando di menu fornisce queste informazioni implementando un gestore ON_UPDATE_COMMAND_UI. Per ogni oggetto dell'interfaccia utente del comando nell'applicazione, usare la finestra Creazione guidata classe o Proprietà (in Visualizzazione classi) per creare una voce della mappa messaggi e un prototipo di funzione per ogni gestore.

Quando il menu viene trascinato verso il basso, il framework cerca e chiama ogni gestore ON_UPDATE_COMMAND_UI, ogni gestore chiama CCmdUI funzioni membro come Enable e Checke e il framework visualizza in modo appropriato ogni voce di menu.

Una voce di menu può essere sostituita con un pulsante della barra di controllo o un altro oggetto dell'interfaccia utente del comando senza modificare il codice all'interno del ON_UPDATE_COMMAND_UI gestore.

La tabella seguente riepiloga le funzioni membro dell'effetto CCmdUIsu vari elementi dell'interfaccia utente del comando.

Elemento dell'interfaccia utente Abilitare SetCheck SetRadio SetText
Voce di menu Abilita o disabilita Controlli o deselezionamenti Verifica l'uso di un punto Imposta il testo dell'elemento
Pulsante della barra degli strumenti Abilita o disabilita Seleziona, deseleziona o indeterminato Uguale a SetCheck (Non applicabile)
Riquadro barra di stato Rende visibile o invisibile il testo Imposta il bordo popup o normale Uguale a SetCheck Imposta il testo del riquadro
Pulsante Normale in CDialogBar Abilita o disabilita Controlla o deseleziona la casella di controllo Uguale a SetCheck Imposta il testo del pulsante
Controllo normale in CDialogBar Abilita o disabilita (Non applicabile) (Non applicabile) Imposta il testo della finestra

Per altre informazioni sull'uso di questa classe, vedere Come aggiornare gli oggetti dell'interfaccia utente.

Gerarchia di ereditarietà

CCmdUI

Requisiti

Intestazione: afxwin.h

CCmdUI::ContinueRouting

Chiamare questa funzione membro per indicare al meccanismo di routing dei comandi di continuare a instradare il messaggio corrente nella catena di gestori.

void ContinueRouting();

Osservazioni:

Si tratta di una funzione membro avanzata che deve essere usata insieme a un gestore ON_COMMAND_EX che restituisce FALSE. Per altre informazioni, vedere La nota tecnica 6.

CCmdUI::Enable

Chiamare questa funzione membro per abilitare o disabilitare l'elemento dell'interfaccia utente per questo comando.

virtual void Enable(BOOL bOn = TRUE);

Parametri

Bon
TRUE per abilitare l'elemento, FALSE per disabilitarlo.

Esempio

ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, &CMyDoc::OnUpdateFileSave)

 

void CMyDoc::OnUpdateFileSave(CCmdUI *pCmdUI)
{
   // Enable the menu item if the file has been modified.
   pCmdUI->Enable(m_bModified);
}

CCmdUI::m_nID

ID della voce di menu, del pulsante della barra degli strumenti o di un altro oggetto dell'interfaccia utente rappresentato dall'oggetto CCmdUI .

UINT m_nID;

CCmdUI::m_nIndex

Indice della voce di menu, del pulsante della barra degli strumenti o di un altro oggetto dell'interfaccia utente rappresentato dall'oggetto CCmdUI .

UINT m_nIndex;

CCmdUI::m_pMenu

Puntatore (di CMenu tipo) al menu rappresentato dall'oggetto CCmdUI .

CMenu* m_pMenu;

Osservazioni:

NULL se l'elemento non è un menu.

CCmdUI::m_pSubMenu

Puntatore (di CMenu tipo) al sottomenu contenuto rappresentato dall'oggetto CCmdUI .

CMenu* m_pSubMenu;

Osservazioni:

NULL se l'elemento non è un menu. Se il sottomenu è un popup, m_nID contiene l'ID della prima voce nel menu a comparsa. Per altre informazioni, vedere La nota tecnica 21.

CCmdUI::m_pOther

Puntatore (di tipo CWnd) all'oggetto finestra, ad esempio uno strumento o una barra di stato, che ha inviato la notifica.

CWnd* m_pOther;

Osservazioni:

NULL se l'elemento è un menu o un oggetto non CWnd .

CCmdUI::SetCheck

Chiamare questa funzione membro per impostare l'elemento dell'interfaccia utente per questo comando sullo stato di controllo appropriato.

virtual void SetCheck(int nCheck = 1);

Parametri

nCheck
Specifica lo stato di controllo da impostare. Se 0, deseleziona; se 1, controlla; e se 2, imposta un valore indeterminato.

Osservazioni:

Questa funzione membro funziona per le voci di menu e i pulsanti della barra degli strumenti. Lo stato indeterminato si applica solo ai pulsanti della barra degli strumenti.

CCmdUI::SetRadio

Chiamare questa funzione membro per impostare l'elemento dell'interfaccia utente per questo comando sullo stato di controllo appropriato.

virtual void SetRadio(BOOL bOn = TRUE);

Parametri

Bon
TRUE per abilitare l'elemento; in caso contrario FALSE.

Osservazioni:

Questa funzione membro funziona come SetCheck, ad eccezione del fatto che opera su elementi dell'interfaccia utente che agiscono come parte di un gruppo di radio. Deselezionare gli altri elementi nel gruppo non è automatico a meno che gli elementi stessi non mantengano il comportamento del gruppo di radio.

CCmdUI::SetText

Chiamare questa funzione membro per impostare il testo dell'elemento dell'interfaccia utente per questo comando.

virtual void SetText(LPCTSTR lpszText);

Parametri

lpszText
Puntatore a una stringa di testo.

Esempio

void CMyRichEditView::OnUpdateLineNumber(CCmdUI *pCmdUI)
{
   int nLine = GetRichEditCtrl().LineFromChar(-1) + 1;

   CString string;
   string.Format(_T("Line %d"), nLine);
   pCmdUI->Enable(TRUE);
   pCmdUI->SetText(string);
}

Vedi anche

MDI di esempio MFC
Grafico della gerarchia
Classe CCmdTarget