TN022 : Implémentation des commandes Standard

Cette note décrit les implémentations de commande standard fournies par MFC 2.0. Veuillez vous assurer de lire en premier Technical Note 21 puisque qui décrit les mécanismes utilisés pour mettre en œuvre la plupart des commandes standards.

Cette description suppose la connaissance de la MFC architectures, API et pratique de programmation courante. Documentées ainsi que sans papiers « mise en œuvre uniquement » API est décrites. Ce n'est pas un point de départ pour en savoir plus sur les fonctionnalités d'ou comment programmer dans MFC. Veuillez consulter le Guide du programmeur Visual C++ pour plus d'information générale et pour le détail des API documentées.

Le problème

MFC définit plusieurs ID de commande standard dans le fichier d'en-tête AFXRES.H. charge pour ces commandes varie. Comprendre où et comment les classes framework gérer ces volonté de commandes non seulement de vous montrer comment le cadre fonctionne en interne mais fournira des informations utiles sur la façon de personnaliser les implémentations standards et nous espérons que vous apprendrez quelques techniques pour mettre en œuvre vos propres gestionnaires de commande.

Contenu de cette Note technique

Chaque ID de commande est décrite dans deux sections:

Implémentations de commande par défaut la plupart sont précâblées en carte de message de classe de base du cadre. Il existe quelques implémentations de commande nécessitant un câblage explicit dans votre classe dérivée. Celles-ci sont décrites sous « Note ». Si vous avez choisi les bonnes options de AppWizard, ces gestionnaires d'événements par défaut seront connectés pour vous dans l'application squelette générée.

Convention de nommage

Commandes standard suivent une convention d'appellation simple que nous recommandons que vous utilisez si possible. Commandes plus standard sont situés dans des endroits standards dans la barre de menus d'une application. Le nom symbolique de la commande démarre avec « ID_ » suivie du nom de menu contextuel standard, suivi du nom d'élément de menu. Le nom symbolique est en majuscules, avec un trait de soulignement mot-pauses. Pour les commandes qui n'ont pas de noms d'élément de menu standard, un nom de commande logique est défini à partir de « ID_ » (par exemple, ID_NEXT_PANE).

Nous utilisons le préfixe « ID_ » pour indiquer les commandes qui sont conçus pour être lié à des éléments de menu, boutons de la barre d'outils ou autres objets d'interface utilisateur de commande. Gestionnaires de commande manutention des commandes « ID_ » devraient utiliser les mécanismes ON_COMMAND et ON_UPDATE_COMMAND_UI de l'architecture de commande MFC.

Nous recommandons que vous utilisez le préfixe « IDM_ » standard pour des éléments de menu qui ne pas suivre l'architecture de commandement et besoin de code de menu spécifique pour activer et désactiver les. Bien sûr le nombre de commandes spécifiques du menu devrait être petit car suivant l'architecture de commande MFC non seulement rend les gestionnaires de commande plus puissante (puisqu'ils travailleront avec les barres d'outils) mais rend le code de gestionnaire d'événements de commande réutilisable.

Gammes ID

Veuillez vous référer aux techniques Note 20 pour plus de détails sur l'utilisation des gammes ID dans MFC.

Les commandes standard MFC entrent dans la gamme 0xE000 à 0xEFFF. Veuillez ne s'appuient pas sur les valeurs spécifiques de ces identifiants car ils sont susceptibles d'être modifiées dans les versions futures de la bibliothèque.

Votre application doit définir ses commandes dans la plage 0 x 8000 à 0xDFFF.

ID de commande standard

Pour chaque ID de commande, il y a une chaîne de ligne rapide message standard qui peut être trouvée dans les invites de fichier.RC. L'ID de chaîne pour cette invite de menu doit être le même que pour l'ID de commande.

Mise à jour uniquement les gestionnaires de commande

Il y a plusieurs ID de commande standard qui est utilisés comme indicateurs dans les barres d'État. Ces même utilisent l'interface utilisateur de commande update mécanisme de gestion pour afficher leur état visuel actuel pendant la durée d'inactivité application. Puisqu'ils ne peuvent pas être sélectionnées par l'utilisateur (c'est-à-dire, vous ne peut pas pousser un volet barre d'État), alors il n'a aucun sens d'avoir un gestionnaire d'événements ON_COMMAND pour ces ID de commande.

Ces trois sont implémentées dans CFrameWnd::OnUpdateKeyIndicator, une aide de mise en œuvre qui utilise l'ID de commande à la carte à la clé virtuelle appropriée. Une implémentation commune active ou désactive (pour les vitres en état désactivés ne = aucun texte) l'objet de CCmdUI selon la question de savoir si la clé virtuelle appropriée est actuellement verrouillée.

Personnalisation de ce gestionnaire de commande n'est pas recommandée.

Actuellement, il n'y a aucune implémentation standard pour ces indicateurs.

Si vous choisissez de mettre en œuvre de ces indicateurs, nous recommandons que vous utiliser ces ID de l'indicateur et le maintien de l'ordre des indicateurs dans votre barre d'État (c'est-à-dire, dans cet ordre : EXT, PAC, NUM, SCRL, RFP, REC).

&Notes techniques par le numéro |nbsp ; Notes techniques par catégorie

Index