以下资源定义有什么问题?
ACCELERATOR_RESOURCE_ID ACCELERATORS
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
VK_C, IDA_COPY, NOINVERT, CONTROL, VIRTKEY
VK_V, IDA_PASTE, NOINVERT, CONTROL, VIRTKEY
VK_A, IDA_SELECTALL, NOINVERT, CONTROL, VIRTKEY
}
每次编译时,它都会在 VK_C,IDA_COPY,NOINVERT,CONTROL,VIRTKEY 行给出语法错误。我无法确定问题所在。
答案 0 :(得分:1)
在Windows标题中未定义普通字母或数字的虚拟键标识符 - 来自WinUser.h:
/*
* VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
* 0x40 : unassigned
* VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
*/
因此,值VK_C
,VK_V
等是问题所在。
资源编译器显然不支持像'C'
或'V'
这样的字符常量,而实践似乎使用(十六进制)数字ASCII值代替:
0x43, IDA_COPY, NOINVERT, CONTROL, VIRTKEY
0x56, IDA_PASTE, NOINVERT, CONTROL, VIRTKEY
0x41, IDA_SELECTALL, NOINVERT, CONTROL, VIRTKEY