Classe CCmdUI
Viene usato solo all'interno di un ON_UPDATE_COMMAND_UI
gestore in una CCmdTarget
classe 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 Check
e 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 CCmdUI
su 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