CCmdUI, classe
Est utilisé uniquement dans un ON_UPDATE_COMMAND_UI
gestionnaire dans une CCmdTarget
classe 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 de vérification 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 CCmdUI
sur différents éléments d’interface utilisateur de commande.
Élément d’interface utilisateur | Enable | SetCheck | SetRadio | SetText |
---|---|---|---|---|
Élément de menu | Active ou désactive | Vérifications ou décocheurs | 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 | Coche ou décocheur | 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 vérification approprié.
virtual void SetCheck(int nCheck = 1);
Paramètres
nCheck
Spécifie l’état de vérification à définir. Si 0, décochez ; si 1, vérifie ; 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 vérification 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. La désactivation des 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);
}