Share via


CCmdUI, classe

Est utilisé uniquement dans un ON_UPDATE_COMMAND_UI gestionnaire dans une CCmdTargetclasse dérivée de -.

Syntaxe

class CCmdUI

Membres

Méthodes publiques

Nom Description
CCmdUI ::ContinueRouting Indique au mécanisme de routage des commandes de continuer à router le message actuel vers le bas de la chaîne de gestionnaires.
CCmdUI ::Enable Active ou désactive l’élément d’interface utilisateur pour cette commande.
CCmdUI ::SetCheck Définit l’état case activée de l’élément d’interface utilisateur pour cette commande.
CCmdUI ::SetRadio Comme la SetCheck fonction membre, mais fonctionne sur des groupes radio.
CCmdUI ::SetText Définit le texte de l’élément d’interface utilisateur pour cette commande.

Membres de données publics

Nom Description
CCmdUI ::m_nID ID de l’objet d’interface utilisateur.
CCmdUI ::m_nIndex Index de l’objet d’interface utilisateur.
CCmdUI ::m_pMenu Pointe vers le menu représenté par l’objet CCmdUI .
CCmdUI ::m_pOther Pointe vers l’objet de fenêtre qui a envoyé la notification.
CCmdUI ::m_pSubMenu Pointe vers le sous-menu contenu représenté par l’objet CCmdUI .

Notes

CCmdUI n’a pas de classe de base.

Lorsqu’un utilisateur de votre application extrait un menu, chaque élément de menu doit savoir s’il doit être affiché comme activé ou désactivé. La cible d’une commande de menu fournit ces informations en implémentant un gestionnaire de ON_UPDATE_COMMAND_UI. Pour chacun des objets d’interface utilisateur de commande de votre application, utilisez l’Assistant Classe ou la fenêtre Propriétés (en mode Classe) pour créer une entrée de carte de messages et un prototype de fonction pour chaque gestionnaire.

Lorsque le menu est extrait, l’infrastructure recherche et appelle chaque gestionnaire de ON_UPDATE_COMMAND_UI, chaque gestionnaire appelle CCmdUI des fonctions membres telles que Enable et Check, et l’infrastructure affiche ensuite correctement chaque élément de menu.

Un élément de menu peut être remplacé par un bouton de barre de contrôle ou un autre objet d’interface utilisateur de commande sans modifier le code au sein du ON_UPDATE_COMMAND_UI gestionnaire.

Le tableau suivant récapitule les fonctions membres de l’effet CCmdUIsur différents éléments d’interface utilisateur de commande.

Élément d’interface utilisateur Activer SetCheck SetRadio SetText
Élément de menu Active ou désactive Vérifications ou annulations case activée s Vérifications à l’aide d’un point Définit le texte de l’élément
Bouton de la barre d'outils Active ou désactive Sélectionne, désélectionne ou indéterminé Identique à SetCheck (Non applicable)
Volet Barre d’état Rend le texte visible ou invisible Définit la bordure contextuelle ou normale Identique à SetCheck Définit le texte du volet
Bouton normal dans CDialogBar Active ou désactive Case à cocher ou non case activée s case activée Identique à SetCheck Définit le texte du bouton
Contrôle normal dans CDialogBar Active ou désactive (Non applicable) (Non applicable) Définit le texte de la fenêtre

Pour plus d’informations sur l’utilisation de cette classe, consultez Comment mettre à jour des objets d’interface utilisateur.

Hiérarchie d'héritage

CCmdUI

Spécifications

En-tête : afxwin.h

CCmdUI ::ContinueRouting

Appelez cette fonction membre pour indiquer au mécanisme de routage des commandes de continuer à router le message actuel vers le bas de la chaîne de gestionnaires.

void ContinueRouting();

Notes

Il s’agit d’une fonction membre avancée qui doit être utilisée conjointement avec un gestionnaire ON_COMMAND_EX qui retourne FALSE. Pour plus d’informations, consultez la note technique 6.

CCmdUI ::Enable

Appelez cette fonction membre pour activer ou désactiver l’élément d’interface utilisateur pour cette commande.

virtual void Enable(BOOL bOn = TRUE);

Paramètres

bOn
TRUE pour activer l’élément, FALSE pour le désactiver.

Exemple

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 de l’élément de menu, du bouton de la barre d’outils ou d’un autre objet d’interface utilisateur représenté par l’objet CCmdUI .

UINT m_nID;

CCmdUI ::m_nIndex

Index de l’élément de menu, du bouton de barre d’outils ou d’un autre objet d’interface utilisateur représenté par l’objet CCmdUI .

UINT m_nIndex;

CCmdUI ::m_pMenu

Pointeur (de CMenu type) vers le menu représenté par l’objet CCmdUI .

CMenu* m_pMenu;

Notes

NULL si l’élément n’est pas un menu.

CCmdUI ::m_pSubMenu

Pointeur (de CMenu type) vers le sous-menu contenu représenté par l’objet CCmdUI .

CMenu* m_pSubMenu;

Notes

NULL si l’élément n’est pas un menu. Si le sous-menu est une fenêtre contextuelle, m_nID contient l’ID du premier élément du menu contextuel. Pour plus d’informations, consultez la note technique 21.

CCmdUI ::m_pOther

Pointeur (de type CWnd) vers l’objet fenêtre, tel qu’un outil ou une barre d’état, qui a envoyé la notification.

CWnd* m_pOther;

Notes

NULL si l’élément est un menu ou un autre CWnd objet.

CCmdUI ::SetCheck

Appelez cette fonction membre pour définir l’élément d’interface utilisateur de cette commande sur l’état de case activée approprié.

virtual void SetCheck(int nCheck = 1);

Paramètres

nCheck
Spécifie l’état case activée à définir. Si 0, un case activée s ; si 1, case activée s ; et si 2, définit indéterminé.

Notes

Cette fonction membre fonctionne pour les éléments de menu et les boutons de barre d’outils. L’état indéterminé s’applique uniquement aux boutons de barre d’outils.

CCmdUI ::SetRadio

Appelez cette fonction membre pour définir l’élément d’interface utilisateur de cette commande sur l’état de case activée approprié.

virtual void SetRadio(BOOL bOn = TRUE);

Paramètres

bOn
TRUE pour activer l’élément ; sinon FALSE.

Notes

Cette fonction membre fonctionne comme SetCheck, sauf qu’elle opère sur des éléments d’interface utilisateur agissant dans le cadre d’un groupe radio. Un case activée les autres éléments du groupe n’est pas automatique, sauf si les éléments eux-mêmes conservent le comportement du groupe radio.

CCmdUI ::SetText

Appelez cette fonction membre pour définir le texte de l’élément d’interface utilisateur pour cette commande.

virtual void SetText(LPCTSTR lpszText);

Paramètres

lpszText
Pointeur vers une chaîne de texte.

Exemple

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

Voir aussi

Exemple MFC MDI
Graphique hiérarchique
CCmdTarget, classe