TN020: ID nom et numérotation des Conventions

Cette note décrit l'ID nom et numérotation des conventions utilisées par MFC 2.0 pour les ressources, commandes, chaînes, contrôles et fenêtres enfants.

Le problème

Le MFC ID nom et numérotation des conventions visent à répondre aux exigences suivantes:

Vue d'ensemble des ID préfixe Convention de nommage

Il y a plusieurs catégories ou types d'ID dans une application. La convention de nommage des MFC ID définit différents préfixes pour les types de ressources différentes.

MFC utilise le préfixe "IDR_" pour faire référence à un ID de ressource qui s'applique à plusieurs types de ressources. Par exemple, pour une fenêtre de l'image donnée, la même valeur de «IDR_» est utilisée pour désigner une ressource menu, accélérateur, chaîne et l'icône tout à la fois.

IDR_ Plusieurs types de ressources (utilisé principalement pour les Menus, accélérateurs).
IDD_ Pour les ressources de modèle de boîte de dialogue (par exemple, IDD_DIALOG1).

IDC_

Pour les ressources de curseur.

IDI_

Pour les ressources de l'icône.

IDB_

Pour les ressources Bitmap.

IDS_

Pour les ressources de type chaîne.


Notez que la valeur IDS_ pour une ressource de type chaîne est l'ID transmis à LoadString. La mise en œuvre réelle de la chaîne de table ensemble 16 chaînes de ressources des groupes dans un segment.

Au sein d'une ressource de boîte de dialogue, nous suivons la convention de:

IDOK,IDCANCEL Pour le bouton de commande standard ID.
IDC_

Pour d'autres contrôles de la boîte de dialogue.

Le préfixe «IDC_» est également utilisé pour les curseurs. Ce conflit de noms n'est pas habituellement un problème depuis une application typique aura quelques curseurs et un grand nombre de contrôles de la boîte de dialogue.

Au sein d'une ressource Menu, nous suivons la convention de:

IDM_ Pour les éléments de menu n'utilisent ne pas l'architecture de commande MFC.
ID_

Pour les commandes de menu item à l'aide de l'architecture de commande MFC.

Les commandes qui suivent l'architecture de commande MFC doivent avoir un gestionnaire de commandes ON_COMMAND et peuvent avoir un gestionnaire d'événements ON_UPDATE_COMMAND_UI . Si ces gestionnaires de commande suivent l'architecture de commande MFC, ils fonctionneront correctement si ils sont liés à un élément de menu, un bouton de barre d'outils ou un bouton de la barre de dialogue. Le même ID_ est également utilisé pour une chaîne invite de menu affichée sur la barre de message du programme. La plupart des éléments de menu dans votre application doit suivre la convention de commandes MFC. Tous les ID de commande standard (par exemple, ID_FILE_NEW) suivent cette convention.

MFC utilise également des «IDP_» comme une forme spécialisée de chaînes (c'est-à-dire, au lieu de «IDS_»). Chaînes avec le préfixe "IDP_" sont "invites, » c'est-à-dire, chaînes utilisées dans les boîtes de message. Peuvent contenir des chaînes "IDP_" "% 1" et "% 2" comme lieu de détenteurs de chaînes déterminé par le programme. Les chaînes «IDP_» ont habituellement des rubriques d'aide, tandis que les chaînes «IDS_» ne le sont pas. Les chaînes «IDP_» sont toujours localisées, tandis que les chaînes «IDS_» peuvent ou ne peuvent pas être localisés.

La bibliothèque MFC utilise également le préfixe «IDW_» comme une forme spécialisée de l'ID de contrôle (c'est-à-dire, au lieu de «IDC_»). Ces ID est attribués aux fenêtres enfants tels que des vues et des répartiteurs de classes du framework. ID d'application MFC est préfixés par «AFX_».

Aperçu de la Convention de numérotation ID

Ce qui suit énumère les plages valides pour les ID des types spécifiques. Certaines des limites sont des limites de mise en œuvre technique tandis que d'autres conventions justes pour empêcher la collision avec les identificateurs prédéfinis de Windows ou MFC implémentations par défaut votre ID.

Nous recommandons fortement de que vous faire ID pas définis à l'extérieur les plages recommandées. Même si la limite inférieure d'un grand nombre de ces chaînes est 1 (0 n'est pas utilisé), convention commune commence l'utilisation pratique des ID à 100 ou 101.

Préfixe Type de ressource Plage valide
IDR_ multiples 1 - > ; 0x6FFF
IDD_ modèles de la boîte de dialogue 1 - > ; 0x6FFF
IDC_, IDI_, IDB_ curseurs, les icônes, les bitmaps 1 - > ; 0x6FFF
IDS_, IDP_ chaînes générales 1 - > ; 0x7FFF
ID_ commandes 0 x 8000 - > ; 0xDFFF
IDC_ contrôles 8 - > ; 0xDFFF

Raisons de ces limites de l'aire de répartition:

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

Index