TN020: ID benennen und Nummerieren von Konventionen

Diese Applikationsschrift beschreibt die ID Benennung und Nummerierung Konventionen von MFC 2.0 für Ressourcen, Befehlen, Zeichenfolgen, Steuerelemente und untergeordnete Fenster.

Das Problem

Die MFC-ID benennen und Nummerieren von Konventionen sollen die folgenden Anforderungen erfüllen:

Übersicht über ID-Präfix Namenskonvention

Es gibt mehrere Kategorien oder Typen von IDs in einer Anwendung. Die ID des MFC-Namenskonvention definiert unterschiedliche Präfixe für verschiedene Ressourcentypen.

MFC verwendet das Präfix "IDR_" bezeichnet eine Ressourcen-ID, für die mehrere Ressource-Typen gilt. Beispielsweise wird für ein bestimmtes Frame-Fenster der gleiche "IDR_" Wert verwendet zum Verweisen auf eine Ressource im Menü, Beschleuniger, String und Symbol auf einmal.

IDR_ Mehrere Ressourcentypen (in erster Linie für Menüs, Zugriffstasten verwendet).
IDD_ Für Dialog-Template-Ressourcen (z. B. IDD_DIALOG1).

IDC_

Für Cursor-Ressourcen.

IDI_

Für Symbolressourcen.

IDB_

Für Bitmap-Ressourcen.

IDS_

Für Zeichenfolgenressourcen.


Beachten Sie, dass der IDS_-Wert für eine String-Ressource die ID an LoadStringübergeben wird. Die eigentliche Implementierung der Zeichenfolge Tabelle Gruppen zusammen 16 Ressourcenzeichenfolgen in einem segment.

Innerhalb einer Dialogfeldressource folgen wir das Übereinkommen vom:

IDOK,IDCANCEL Für standard Push Button IDs.
IDC_

Für andere Dialogfeldsteuerelemente.

Das Präfix "IDC_" ist auch für Cursor verwendet. Diese Namenskonflikt ist nicht in der Regel ein Problem, da eine typische Anwendung einige Cursor und eine große Anzahl von Dialogfeld-Steuerelemente haben wird.

Innerhalb eine Menüressource folgen wir das Übereinkommen vom:

IDM_ Für Menüelemente, die nicht mit die MFC-Befehl-Architektur.
ID_

Für Element Menübefehle mithilfe der MFC-Befehl-Architektur.

Befehle, die die Architektur des MFC-Befehl folgen müssen ein Befehlshandler ON_COMMAND und möglicherweise einen ON_UPDATE_COMMAND_UI -Handler. Wenn diese Befehlshandler Architektur die MFC-Befehl folgen, werden sie ordnungsgemäß funktioniert, ob sie ein Menüelement, eine Symbolleisten-Schaltfläche oder einem Dialogfeld Befehlsleisten-Schaltfläche gebunden sind. Die gleichen ID_ dient auch eine Menü-Eingabeaufforderungs-Zeichenfolge auf die Programm-Statusleiste angezeigt. Die meisten der Menüelemente in der Anwendung sollte der MFC Befehl Dateinamenskonvention. Alle Standardbefehls-IDs (z. B. ID_FILE_NEW) Folgen dieses Übereinkommens.

MFC verwendet auch "IDP_" als eine spezielle Form von Zeichenfolgen (das heißt, anstelle von "IDS_"). Zeichenfolgen mit dem Präfix "IDP_" sind "Prompts," d. h. Zeichenfolgen in Message-Boxen verwendet. "IDP_" Zeichenfolgen enthalten "% 1" und "% 2" als Platzhalter von Zeichenfolgen, die durch das Programm bestimmt. "IDP_" Zeichenfolgen haben in der Regel Hilfethemen, während "IDS_" Zeichenfolgen nicht. "IDP_" Zeichenfolgen sind immer lokalisiert, während "IDS_" Zeichenfolgen können oder nicht lokalisiert werden können,.

Die MFC-Bibliothek verwendet auch das Präfix "IDW_" als eine spezielle Form von Steuerelement-IDs (das heißt, anstelle von "IDC_"). Diese IDs werden untergeordnete Fenster z. B. Ansichten und Splitter von der Framework-Klassen zugewiesen. MFC-Implementierung IDs werden mit "AFX_" vorangestellt.

Übersicht des Übereinkommens ID-Nummerierung

Im folgenden werden die gültigen Bereiche für die IDs der bestimmten Typen. Einige der Grenzen sind technische Grenzen, während andere nur Konventionen sind zu verhindern, dass Ihre IDs kollidiert mit vordefinierten Windows-IDs oder MFC Standardimplementierungen.

Wir empfehlen dringend, dass Sie nicht definierte IDs außerhalb der empfohlenen Bereiche tun. Obwohl die Untergrenze für viele dieser Bereiche 1 ist (0 wird nicht benutzt), allgemeine Konvention beginnt die praktische Verwendung von IDs auf 100 oder 101.

Präfix Ressourcentyp Gültigen Bereichs
IDR_ mehrere 1 - ≫ 0x6FFF
IDD_ dialogfeldvorlagen 1 - ≫ 0x6FFF
IDC_, IDI_, IDB_ cursor, symbole, bitmaps 1 - ≫ 0x6FFF
IDS_, IDP_ allgemeine zeichenfolgen 1 - ≫ 0x7FFF
ID_ befehle 0 x 8000 - ≫ 0xDFFF
IDC_ steuerelemente 8 - ≫ 0xDFFF

Gründe für diesen Bereich Grenzen:

Technische Hinweise von &Nummer |nbsp; Technische Hinweise nach Kategorie

Index