TN020: ID Benennungs- und Nummerierungs-Konventionen
Dieser Hinweis wird die ID-Benennungs- und Aufzählungszeichen konventionen, die MFC 2.0 für Ressourcen, Befehle, Zeichenfolgen, Steuerelemente und untergeordnete Fenster verwendet.
Die MFC-ID-Benennungs- und Aufzählungszeichen konventionen sollen die folgenden Bedingungen erfüllt:
Erstellen Sie einen konsistenten ID-Benennung Standardwert bereit, der über die MFC-Bibliothek und MFC-Anwendungen, die verwendet wird, um den Visual C++-Ressourcen-Editor unterstützt werden.Dies macht es einfacher, dass der Programmierer den Typ und den Ursprung einer Ressource aus seiner Identifikation interpretiert
Heben Sie die starke 1:1-Beziehung zwischen bestimmten Typen von IDs hervor.
Passen Sie bereits weit verbreitete auf Standards für die Benennung von IDs in Windows an.
Partitionieren das ID-Nummerierung Leerzeichen.ID-Nummern können vom Programmierer, die MFC, Windows und Sicht-die C++-edited Ressourcen zugewiesen werden.Zugehörige Partitionierung hilft, Duplikat von ID-Nummern zu vermeiden.
Die ID Präfix-Namenskonvention
Einige Typen ID können in einer Anwendung auftreten.Die MFC-ID-Benennung Konvention unterschiedliche Präfixe für andere Ressourcentypen definiert.
MFC verwendet das Präfix "IDR_" Ressourcen-ID angegeben wird, die auf mehrere Ressourcentypen gilt.Zum Beispiel für ein angegebenes Rahmenfenster, verwendet MFC das gleiche Präfix" IDR_- ", um eine Menü-, Zugriffstasten-, Zeichenfolgen- und Symbolressource anzugeben.In der folgenden Tabelle sind die verschiedenen Präfixe und deren Verwendung beschrieben:
Präfix |
Verwendung |
---|---|
IDR_ |
Für die mehrere Ressourcentypen (hauptsächlich für Menüs, Zugriffstasten und Menübände). |
IDD_ |
Für Dialogfeldvorlagen Ressourcen (z. B. IDD_DIALOG1.) |
IDC_ |
Für Cursorressourcen. |
IDI_ |
Das Symbol Ressourcen frei. |
IDB_ |
Für Bitmapressourcen. |
IDS_ |
Für Zeichenfolgenressourcen. |
Innerhalb einer Dialogfeldressource folgt MFC diesen Konventionen:
Bezeichnung oder Präfix |
Verwendung |
---|---|
IDCANCEL, IDOK |
Eine Schaltfläche Standard IDs. |
IDC_ |
Für andere Dialog Box. |
Das "IDC_-" - Präfix wird auch für Cursor verwendet.Dieser Namenskonflikt ist nicht in der Regel ein Problem, da eine typische Anwendung wenige Cursor und viele Dialogfeld Steuerelemente enthält.
Innerhalb einer Menüressource folgt MFC diesen Konventionen:
Präfix |
Verwendung |
---|---|
IDM_ |
Für Menüelemente, die nicht die Architektur der MFC-Befehls verwenden. |
ID_ |
Für Menübefehle, die die Architektur der MFC-Befehls verwenden. |
Befehle, die der Architektur der MFC-Befehls folgen, müssen einen ON_COMMAND Befehlshandler vorhanden und können einen ON_UPDATE_COMMAND_UI-Handler verfügen.Wenn diese Befehlshandler der Architektur der MFC-Befehls folgen, funktionieren ordnungsgemäß, ob sie auf einen Menübefehl, eine Symbolleisten-Schaltfläche Dialogleisten oder einer Schaltfläche gebunden sind.Das gleiche "ID_-" - Präfix wird auch für eine eingabeaufforderungs-zeichenfolge Menü wird, die auf der Statusleiste des Programms angezeigt wird.Die meisten der Menüelemente in Ihrer Anwendung sollten den MFC-Befehls konventionen folgen.Alle IDs Befehl Standard (z. B. ID_FILE_NEW) folgt dieser Konvention.
MFC verwendet auch "IDP_" z. B. eine spezielle Form von Zeichenfolgen (anstelle von ".") IDS_Zeichenfolgen mit dem Präfix" IDP_- "sind die Eingabeaufforderungen. h. Zeichenfolgen, die in Meldungsfeldern verwendet werden. "Zeichenfolgen können IDP_-" %1 " und "%2 " als Platzhalter für den Zeichenfolgen ", die vom Programm ermittelt werden. "IDP_- Zeichenfolgen" besitzen i. d. R. die Hilfethemen, die ihnen zugeordneten Zeichenfolgen" und "do IDS_- nicht. "IDP_-" Zeichenfolgen werden immer lokalisiert, und "würden IDS_-" Zeichenfolgen nicht lokalisiert werden.
Die MFC-Bibliothek wird außerdem das Präfix" IDW_- "als Sonderform von Steuerelement-IDs (anstelle von ".") IDC_Diese ID wird an die untergeordneten Fenster und Ansichten wie Klassen Framework über die Splittern zugewiesen.MFC-Implementierung ID wird mit "AFX_" vorangestellt.
Die ID-Nummerierung Konvention
In der folgenden Tabelle werden die gültigen Bereiche für die ID der bestimmten Typs auf.Einige der Grenzen hinweg Implementierung technische sind, und andere sind Konventionen, die entwickelt, um die ID an Zusammenstoßen mit Windows zu verhindern, dass vordefinierten ID oder MFC-Standardimplementierungen.
Es wird dringend empfohlen, dass Sie alle IDs in der empfohlenen Bereiche definieren.Die Untergrenze dieser Bereiche ist 1, da 0 nicht verwendet wird.Es wird empfohlen, die allgemeine Konvention und die Verwendung als die erste 100 oder 101 verwenden.
Präfix |
Ressourcentyp |
Gültiger Bereich |
---|---|---|
IDR_ |
Mehrfachauswahl |
1 bis 0x6FFF |
IDD_ |
Dialogfeldvorlagen |
1 bis 0x6FFF |
IDC_, IDI_, IDB_ |
Bitmaps, Symbole, Cursor |
1 bis 0x6FFF |
IDS_, IDP_ |
häufig verwendete Zeichenfolgen |
1 bis 0x7FFF |
ID_ |
Befehle |
0x8000 und 0xDFFF |
IDC_ |
-Steuerelemente |
0xDFFF durch 8 |
Gründe für diese reichen Grenzen:
Standardmäßig wird der ID-Wert 0 nicht verwendet.
Windows-Implementierungs Einschränkungen für die eigentliche Ressource ID ein, der kleiner oder gleich 0x7FFF sein.
Reservieren interne Framework Implementierungen MFC zwei Bereiche: 0x7000 bis 0x7FFF und 0xE000 bis 0xEFFF.
Einige Befehle können Windows-System den Bereich von 0xF000 bis 0xFFFF.
Steuerelement-IDs von 1 bis 7 wird z. B. für Standardsteuerelemente und IDOK IDCANCEL reserviert.
Der Bereich von 0x8000 und 0xFFFF für Zeichenfolgen wird für Menü verlangungen Befehle reserviert.