【MFC】ID命名和数字约定
ID命名和数字约定
MFC ID 命名和数字约定需要满足以下要求:
提供对 Visual C++ 资源编辑器支持的 MFC 库和 MFC 应用程序中使用的一致的 ID 命名标准。 这样就可以轻松地对程序员介绍了一种资源的类型和原点距其 ID 的.
基础 ID 之间的某些类型的密切的一对一关系。
符合已命名的 ID 的常用标准在窗口中。
分区 ID 号空间。 ID 号可由程序员、 MFC、窗口和 visual C++ 编辑的资源分配。 相应分区将有助于避免 ID 号的副本。
ID 的几种类型的应用程序会发生此错误。 MFC ID 命名约定定义不同的资源类型的不同的前缀。
使用 MFC 应用于多个资源类型的标题 “IDR_”表示资源 ID。 例如,对于特定框架窗口,则 MFC 使用同一 “IDR_”前缀指示菜单、快捷键、字符串和图标资源。 下表显示各标题和它们的用法:
前缀
使用
IDR_
对多个资源类型 (主要用于菜单、快捷键和功能区)。
IDD_
到对话框模板资源 (例如, IDD_DIALOG1)。
IDC_
为光标资源。
IDI_
为图标资源。
IDB_
向位图资源。
IDS_
为字符串资源。
在对话框资源中, MFC 遵循以下约定:
标题或标签
使用
IDOK, IDCANCEL
对于标准普通按钮 ID。
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 分配给子窗口 (如视图和拆分由 framework 类。 MFC 实现 ID (以 “AFX_”。
强烈建议您定义了建议的范围内的所有 ID。 ,因为没有使用,这些范围下限为 1 0。 建议您使用公共约定并使用 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
【MFC】ID命名和数字约定的更多相关文章
- MFC:ID命名和数字约定
今天早上双击一个刚刚编译完成的应用程序,界面刚刚显示,又自动触发了一个菜单事件,打开了一个网页.真的很意外.关闭窗口,再次双击,又自动打开了一个网页,再关闭,再双击,又不自动打开网页了.这是什么情况? ...
- 【CSS】class和id命名规则
说明,本篇内容为书籍<高流量网站CSS开发技术>的学习总结,文字出自书本 书不错,推荐阅读学习 也可参阅网上的博文 原载:彬Go链接:http://blog.bingo929.com/cs ...
- 关于Html class id 命名规范
CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...
- 【COGS & USACO Training】710. 命名那个数字(hash+水题+dfs)
http://cojs.tk/cogs/problem/problem.php?pid=710 近日开始刷水... 此题我为了练一下hash...但是hash跑得比暴力还慢.. 不言而喻... #in ...
- Name That Number 命名那个数字
1.2.3 Name That Number 命名那个数字 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 183 Solved: 33[Submit][ ...
- 小程序开发之scroll-view中id不能以数字开头的问题
在实现这样的一个功能时, 调用微信小程序api发现scroll中可以通过id来实现点击菜单栏,屏幕滚动到对应的id位置 但是id不能以数字,汉字类型的 字符串开头(暂发现两种),可能博主比较笨,想 ...
- (转)MySQL数据库命名规范及约定
一.[操作规范]1. 如无备注,则表中的第一个id字段一定是主键且为自动增长:2. 如无备注,则数值类型的字段请使用UNSIGNED属性:3. 如无备注,排序字段order_id在程序中默认使用降序排 ...
- MySQL数据库命名规范及约定
一.[操作规范]1. 如无备注,则表中的第一个id字段一定是主键且为自动增长:2. 如无备注,则数值类型的字段请使用UNSIGNED属性:3. 如无备注,排序字段order_id在程序中默认使用降序排 ...
- HTML5中id可以用数字开头,但在css中不能正常使用
昨晚在看<响应式Web设计:html5和css3实战>时,书中提到“HTML5中的ID指可以用数字开头”.这个还真不知道,于是测试了一下,发现了问题. 在H5描述中是这样说的: 在css样 ...
随机推荐
- 我的GTD中收集的书单
在几年的GTD过程中,收集了一些想读的书目,没有系统地整理,每当读完一本之后,就翻翻书单,寻找下一本感兴趣的书,书是不可能读完的,只能找有兴趣的.符合自己目标方向的.有些书记录了豆瓣上的评分,虽然不是 ...
- android:#FFFFFFFF 颜色码解析
原文地址:android:#FFFFFFFF 颜色作者:android小鸟 颜色色码为#FFFFFFFF 其中颜色顺序依次为#AARRGGBB 前两位AA代表透明度,FF时表示不透明,00表示透明: ...
- iptables基本操作
一.基本操作 #启动防火墙 service iptables start #停止防火墙 service iptables stop #重启防火墙 service iptables restart #查 ...
- 【原】兼容IOS6以及旧版本的旋转处理方法,心得总结
最近的项目需要频繁处理屏幕的旋转以及各控件的自适应坐标.IOS6出来之后,屏幕旋转的处理方法变得复杂很多.在查阅了很多资料以及动手测试之后,得出以下几点精简的体会: 对于IOS6.0以上版本: 1.如 ...
- iOS之UI--Quartz2D的入门应用--重绘下载圆形进度条
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Oracle日期周详解IW
1 ORACLE中周相关知识描述 1.1 日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FORMAT是一个规定了X采用 ...
- sql server 之函数小技巧 && 整数类型为空是用空字符串替代实现
1.判空函数 说明:使用指定的替换值替换 NULL. 语法:ISNULL ( check_expression , replacement_value ) 参数: check_expression:将 ...
- Linux 学习之DNS服务器
概念: DNS:Domain Name System 域名系统 FQDN:Fully Qualified Domain Name 完整主机名 正向解析:由主机名查IP地址 SOA:开始验证(Start ...
- Js脚本选取iframe中的元素
遇到个小问题,需要用到原生Js处理页面中的元素,以往一个document.getElementById就完活的选取元素,这次却不好使了.. 仔细看代码发现要选取元素外面多了一个iframe标签 < ...
- Apache Drill Install and Test
Drill doc, https://drill.apache.org/docs/hive-storage-plugin/ 发现在国内访问的时候有些标签反应还是很慢,因为它访问了gooleapi的缘故 ...