首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windres中“非VIRTKEY的不适当修饰符”错误是什么意思?

在windres中“非VIRTKEY的不适当修饰符”错误是什么意思?
EN

Stack Overflow用户
提问于 2014-10-06 16:54:56
回答 1查看 61关注 0票数 0

我正在尝试移植一个几年前用Borland C++ 5.0编写的应用程序,以便能够用MinGW编译。

我解决了大多数问题,但我有一个RC文件的问题:

Windres在以下加速表中报告这些条目:

代码语言:javascript
复制
menu ACCELERATORS
{
    VK_DELETE,     CM_KILL_YOUR_UNIT, VIRTKEY
    ".",            CM_FOLLOWMODE, ASCII
    VK_TAB,        CM_IDLEGATHERSHIP, VIRTKEY
    "s",            CM_STOP, ASCII
    "T",            CM_TRIBUTE, ASCII, CONTROL
    "f",            CM_FLUENTTRAINING, ASCII
    "k",            CM_NEXTUNIT, ASCII
    VK_F10,        CM_FOLLOWSTRONGEST, VIRTKEY, CONTROL
}

(我去掉了它不会抱怨的条目。)

错误是:inappropriate modifiers for non-VIRTKEY

我不知道该怎么解决这个问题。Google针对这个错误提出的一个结果是windres本身的源代码转储和补丁。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-10-06 18:09:59

我发现了..。问题不在于windres所抱怨的行数,而在于它们上面的一行。

更确切地说:

代码语言:javascript
复制
"F",            CM_FRIENDORFOECOLORS, ASCII, CONTROL
"S",            CM_SAVEGAME, ASCII, CONTROL
"C",            CM_CHANGEPLAYER, ASCII, CONTROL
"L",            CM_LOADGAME, ASCII, CONTROL
"B",            CM_BGM, ASCII, CONTROL
"A",            CM_STATSWND, ASCII, CONTROL
"E",            CM_FXSOUND, ASCII, CONTROL

显然,向ASCII加速器添加修饰符是无效的。

MSDN还说:

表示虚拟键的整数值。字母数字键的虚拟键可以通过将大写字母或数字放在双引号中(例如,"9“或"C")来指定。类型参数必须为VIRTKEY。

因此,可能只需将类型更改为VIRTKEY就可以解决这个问题。(我一到家就试一试……)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26212818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档