2014-04-24 51 views
0

以下资源定义有什么问题?加速器资源表给出错误

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,控制,VIRTKEY每次我编译。而且我无法找出问题所在。对于普通的字母或数字

+0

这不是的Valide C/C++代码。 –

+0

你有IDA_COPY定义的地方(resource.h或类似?)和/或那个文件然后#included到这个.rc文件? – Yirkha

+0

@Yirkha是的,我有,其他资源正在完美工作。 – StudentX

回答

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_CVK_V等都是问题。

'C''V'或字符常量显然不是由资源编译器支持和实践似乎使用(十六进制)的数字的ASCII值代替:

0x43, IDA_COPY, NOINVERT, CONTROL, VIRTKEY 
0x56, IDA_PASTE, NOINVERT, CONTROL, VIRTKEY 
0x41, IDA_SELECTALL, NOINVERT, CONTROL, VIRTKEY 
+0

这样做,非常感谢。我不知道那些标题中没有定义:o – StudentX