符号值限制
符号值可以是用 #define 预处理器指令的正常方式表示的任何整数。这里是符号值的几个示例:
18
4001
0x0012
-3456
资源的符号值必须是 0 到 32767 范围的十进制数(但不能是十六进制数),其中资源包括:快捷键、位图、光标、对话框、图标、菜单、字符串表和版本信息等。部分资源(如对话框控件或字符串表中的各个字符串)的符号值可以是从 0 到 65534 或 -32768 到 32767。
资源符号是 16 位数字。可以以有符号或无符号的形式输入这些数字,但是它们内部用作无符号整数。所以负数将转换为其对应的正数值。
符号值有如下一些限制:
Visual Studio 开发环境和 MFC 将某些数字范围用于特殊目的。设置了最高有效位的所有数字(-32768 到 -1 或 32768 到 65534,具体取决于符号)由 MFC 保留。
无法使用其他符号字符串定义符号值。例如,下列符号定义不受支持:
#define IDC_MYEDIT IDC_OTHEREDIT //not supported
不能将具有参数的预处理器宏用作值定义。例如:
#define IDD_ABOUT ID(7) //not supported
不是有效表达式,不论 ID 在编译时计算的结果如何。
应用程序可以有包含用表达式定义的符号的现有文件。有关如何包括作为只读符号的符号的更多信息,请参见使用共享(只读)或计算符号。
有关数字范围的更多信息,请参见 TN023:标准 MFC 资源。
有关将资源添加到托管项目的信息,请参见“.NET Framework 开发员指南”中的应用程序中的资源。有关手动将资源文件添加到托管项目、访问资源、显示静态资源和将资源字符串分配给属性的信息,请参见演练:本地化 Windows 窗体和Walkthrough: Using Resources for Localization with ASP.NET。
要求
Win32