2014-04-24 48 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