共用方式為


TN020: ID 命名和編號慣例

這張便箋說明 ID 命名與編號 MFC 2.0 會使用的資源、 指令、 字串、 控制項和子視窗的慣例。

MFC ID 命名和編號慣例被為了符合下列需求:

  • 提供一致的識別碼命名標準的 MFC 程式庫和 MFC 應用程式所支援的 Visual C++ 資源編輯器內適用。 這簡化了程式設計人員,都將受益的型別和原點將資源從它的 id。

  • 強調的強式 1 對 1 關係某些類型的識別碼。

  • 符合已經廣泛使用的標準命名 Windows 中的編號。

  • 磁碟分割的 ID 編號的空間。 可以由程式設計師、 MFC、 視窗和 Visual C++ 編輯的資源指派 ID 編號。 適當的分割有助於避免重複的 ID 編號。

ID 前置詞命名慣例

在應用程式就會發生幾種類型的識別碼。 MFC ID 命名慣例會定義不同的資源類型的不同的首碼。

MFC 會使用"IDR_"的前置詞來表示會套用到多個資源類型的資源識別碼。 比方說,為指定的框架視窗中,MFC 會使用相同的"IDR_"前置詞來指示功能表、 快速鍵、 字串和圖示的資源。 下表顯示各種不同的前置詞和及其使用方式:

前置詞

使用

IDR_

(主要是用於功能表、 快速鍵,以及型 (緞帶)) 的多個資源類型。

IDD_

對話方塊範本資源 (例如 IDD_DIALOG1)。

IDC_

游標資源。

IDI_

圖示資源。

IDB_

點陣圖資源。

IDS_

對各個字串資源。

在對話方塊資源,MFC 會遵循這些慣例:

前置詞或標籤

使用

IDOK IDCANCEL

標準的推入按鈕識別碼。

IDC_

其他的對話方塊控制項。

"IDC_"前置詞也可用於資料指標。 這個命名衝突通常並不是問題因為一般應用程式會有幾個資料指標,而且許多對話方塊控制項。

內功能表資源時,MFC 將遵守下列慣例:

前置詞

使用

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"做為替代符號的字串由應用程式。「 IDP_ 」 字串通常會有與它們相關聯的 [說明] 主題,"IDS_"字串則沒有。「 IDP_ 」 字串一律已當地語系化,而且"IDS_"字串可能不會進行當地語系化。

MFC 程式庫也會使用"IDW_"前置詞為特定表單的控制項 Id (而非"IDC_")。 這些 Id 被指派給子視窗,例如檢視和分隔器之架構類別。 MFC 實作 Id 前置字元為"AFX_"。

此識別碼編號慣例

下表列出有效的範圍之特定類型的識別碼。 限制的某些技術實作限制,有些則為了避免您的 Id 與 Windows 預先定義的 Id 或 MFC 互相預設實作的慣例。

我們強烈建議您定義在建議範圍內的所有 Id。 這些範圍的下限為 1,因為無法使用 0。 我們建議使用常見的慣例,並使用 100 或 101,作為第一個 id。

前置詞

資源類型

有效範圍

IDR_

多個

1 到 0x6FFF

IDD_

對話方塊範本

1 到 0x6FFF

IDC_,IDI_,IDB_

資料指標,圖示、 點陣圖

1 到 0x6FFF

IDS_ IDP_

一般的字串

1 到 0x7FFF

ID_

命令

透過 0xDFFF 0x8000

IDC_

控制項

8 到 0xDFFF

這些範圍限制的原因:

  • 依照慣例,不使用的識別碼值為 0。

  • Windows 實作限制,則為 true 的資源應小於或等於 0x7FFF 的識別碼。

  • MFC 的內部架構實作保留兩個範圍: 0x7000 到 0x7FFF 和 0xE000 到 0xEFFF。

  • Windows 系統的數個命令使用 0xF000 透過 0xFFFF 的範圍。

  • 1 到 7 的控制項 Id 被保留給標準的控制項,例如 IDOK 及 IDCANCEL。

  • 0X8000 透過字串 0xFFFF 的範圍被保留給命令的選單提示。

請參閱

其他資源

技術的備忘稿編號

依類別的技術注意事項