MFC ID 命名和数字约定需要满足以下要求:
-
这样就可以轻松地对程序员介绍了一种资源的类型和原点距其 ID 的.
-
基础 ID 之间的某些类型的密切的一对一关系。
-
符合已命名的 ID 的常用标准在窗口中。
-
相应分区将有助于避免 ID 号的副本。
-
MFC ID 命名约定定义不同的资源类型的不同的前缀。
下表显示各标题和它们的用法:
前缀
使用
IDR_
对多个资源类型 (主要用于菜单、快捷键和功能区)。
IDD_
到对话框模板资源 (例如, IDD_DIALOG1)。
IDC_
为光标资源。
IDI_
为图标资源。
IDB_
向位图资源。
IDS_
为字符串资源。
在对话框资源中, MFC 遵循以下约定:
标题或标签
使用
IDOK, IDCANCEL
对于标准普通按钮 ID。
IDC_
对于其他对话框控件。
,因为典型的应用程序将有少量光标和许多对话框控件,此命名冲突通常不是问题。
在菜单资源中, MFC 遵循以下约定:
前缀
使用
IDM_
对于不使用 MFC 命令体系结构的菜单项。
ID_
对于使用 MFC 命令体系结构的菜单命令。
ID_FILE_NEW) 遵循此约定。
IDP_”字符串始终本地化,, “IDS_”字符串可能不本地化。
MFC 实现 ID (以 “AFX_”。
ID 号约定某些限制是技术实现限制,同时,其他是旨在防止您的 ID 冲突与 windows 预定义的 ID 或 MFC 默认实现的约定。建议您使用公共约定并使用 100 或 101 作为第一个 ID.
前缀
资源类型
有效范围
IDR_
多个
1 到 0x6FFF
IDD_
对话框模板
1 到 0x6FFF
IDC_, IDI_, IDB_
光标,图标,位图
1 到 0x6FFF
IDS_, IDP_
一般字符串
1 到 0x7FFF
ID_
命令
0x8000 到 0xDFFF
IDC_
控件
8 到 0xDFFF
这些原因的范围限制:
-
按照约定,不使用 ID 值为 0。
-
窗口实现限制限制为 true 的资源 ID 小于或等于 0x7FFF。
-
MFC 的内部结构实现保留两个范围:0x7000 通过 0x7FFF 和 0xE000 通过 0xEFFF。
-
有些 windows 系统命令通过 0xFFFF 使用 0xF000 的大小。
-
控件 ID 1 到 7 为标准控件是保留的例如 IDOK 和 IDCANCEL。
-
0x8000 的范围传递字符串的 0xFFFF 为菜单提示是保留的输入命令。
http://technet.microsoft.com/zh-cn/library/t2zechd4(v=vs.110).aspx
-
-