符号值限制

更新:2007 年 11 月

符号值可以是用 #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 窗体演练:将本地化资源用于 ASP.NET

要求

Win32

请参见

任务

更改符号的数字值

参考

符号名限制

预定义符号 ID