この ID の名前付けとリソース、コマンド、文字列、コントロール、および子ウィンドウは MFC 2.0 で使用される番号付け規則について説明します。
問題
MFC ID 名および番号に関する規約、次の要件を満たすためのものです。:
ID プリフィックスの名前付け規則
いくつかのカテゴリまたはアプリケーションの Id の種類です。MFC ID の名前付け規則に異なるプレフィックスを別のリソースの種類を定義します。
MFC では、プリフィックス"idr _"を使用して複数の種類のリソースに適用されるリソースの ID を参照します。たとえば、特定のフレーム ウィンドウで、同じの"idr _"値すべてを一度に、メニューのアクセラレータ、文字列、アイコン リソースを参照してくださいに使用します。
| IDR _ | 複数の種類のリソース (主にメニューでは、アクセラレータを使用)。 |
| として | ダイアログ テンプレート リソース (たとえば、 IDD_DIALOG1)。 |
| 通常 | カーソル リソース。 |
| IDI_ | アイコン リソース。 |
| IDB_ | ビットマップ リソース。 |
| IDS _ | 文字列リソース。 |
LoadStringに渡された ID を ids _ リソースの値を文字列には注意してください。文字列テーブル リソース グループ一緒に 16 の文字列を実際に実装する 1 つのセグメントに。
ダイアログ リソースでは、我々 の規則をに従ってください。:
| IDOK、IDCANCEL | 標準のプッシュ ボタンの Id。 |
| 通常 | その他ダイアログ コントロール。 |
「通常」のプレフィックスは、カーソル場合も使用されます。いくつかのカーソルおよびダイアログのコントロールの数が多い、一般的なアプリケーションがあるのでこの名前付けの競合は通常は問題ではないです。
メニュー リソース内では、我々 の規則に従う:
| IDM _ | MFC コマンド アーキテクチャを使用しないメニュー項目。 |
| ID _ | MFC コマンド アーキテクチャを使用してメニュー項目コマンド。 |
MFC コマンド アーキテクチャ コマンドは、 ON_COMMANDコマンド ハンドラーする必要があり、 ON_UPDATE_COMMAND_UIハンドラーがあります。これらのコマンド ハンドラーが MFC コマンド アーキテクチャに従う場合は、ツールバー ボタン、またはダイアログ バー ボタン、メニュー項目にバインドされているかどうか彼らが正しく機能します。同じ id _ 値は、プログラムのメッセージ バーに表示されるメニュー プロンプト文字列も使用されます。アプリケーション内のメニュー項目のほとんどは、MFC コマンド規則に従ってください。すべての標準コマンド Id (たとえば、 ID_FILE_NEW) この規則に従う。
MFC を使用も、特殊な形式の文字列として「"idp _"(つまり、"ids _"の代わりに)。"Idp _"プリフィックスを持つ文字列は「プロンプト」は、メッセージ ボックスで使用される文字列です。"Idp _"文字列には、"%1"とプレース ホルダーとして「% 2」のプログラムによって決定された文字列を含めることができます。"Ids _"文字列はしない"idp _"文字列は通常ヘルプ トピックがあります。"Idp _"文字列がローカライズ"ids _"文字列は、ローカライズされないことがあります中には常にいます。
MFC ライブラリは、コントロール Id の特殊な形式として"idw _"プレフィックスをまた使用して (つまり、「通常」の代わりに)。これらの Id フレームワーク クラスによって、ビュー、分割などの子ウィンドウに割り当てられています。MFC 実装 Id「AFX_と」が付きます。
ID 番号規約の概要
次の有効な範囲の特定の種類の Id を一覧表示します。他の Windows の定義済み Id や MFC の既定の実装を衝突からあなたの Id を防ぐために規則だけがいくつかの制限の実装上の制限は。
未定義の Id 範囲外を行うをお勧めします。にもかかわらず、多くのこれらの範囲の下限値は 1 です (0 は使用されません)、慣例起動 Id の活用は 100 または 101。
| プレフィックス | リソースの種類 | 有効な範囲は |
| IDR _ | 複数 | 1 - gt;0x6FFF(&G) |
| として | ダイアログ テンプレート | 1 - gt;0x6FFF(&G) |
| 通常、IDI_、IDB_ | カーソル、アイコン、ビットマップ | 1 - gt;0x6FFF(&G) |
| IDS _、IDP _ | 一般的な文字列 | 1 - gt;0x7FFF(&G) |
| ID _ | コマンド | 0x8000 - gt;0 xdfff まで(&G) |
| 通常 | コントロール | 8 gt;0 xdfff まで(&G) |
これらの範囲の制限の理由:
番号順テクニカル ノート|nbsp;カテゴリ別テクニカル ノート(&N)