首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Windres在我的GROUPBOX语句上报告语法错误?

为什么Windres在我的GROUPBOX语句上报告语法错误?
EN

Stack Overflow用户
提问于 2011-01-24 05:02:45
回答 2查看 1.9K关注 0票数 4

我正在C++中尝试使用C++ API,特别是编写资源文件。现在,我的整个项目运作得很好,菜单、标题等等。但是,当我将模态对话框的代码添加到.rc文件时:

代码语言:javascript
复制
IDD_ABOUT DIALOG DISCARDABLE  0, 0, 239, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "&OK",IDOK,174,18,50,14
    PUSHBUTTON      "&Cancel",IDCANCEL,174,35,50,14
    GROUPBOX        "About this program...",IDC_STATIC,7,7,225,52
    CTEXT           "An example program showing how to use Dialog Boxes\r\n\r\nby theForger", IDC_STATIC,16,18,144,33
END

Windres退出时有以下错误:

代码语言:javascript
复制
windres: resource.rc:40: syntax error

第40行提到:

代码语言:javascript
复制
GROUPBOX "About this program...",IDC_STATIC,7,7,225,52

MSDN称,

您只能在DIALOGEX语句中使用的GROUPBOX语句定义了控制窗口的文本、标识符、维度和属性。 GROUPBOX文本,id,x,y,宽度,高度[,样式,扩展样式]

他们的例子:

代码语言:javascript
复制
GROUPBOX "Options", 101, 10, 10, 100, 100

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-24 20:57:23

如果切换到DIALOGEX语句后,在同一行中仍然有相同的语法错误(正如@YeenFei指出的那样),我唯一能想到的就是IDC_STATIC没有定义。

试着把它改成

代码语言:javascript
复制
GROUPBOX "About this program...",-1,7,7,225,52

如果这解决了问题,那是因为没有定义标识符。

我搜索了Platform标题(6.1和7.1),但没有找到它。我认为这可能是一个特定于MFC的标识符--一些快速搜索建议MFC在"afxres.h“中定义它,如果还没有定义的话。

IDOKIDCANCEL可以工作,即使您没有显式地定义它们,因为它们是在Platform中定义的(在“winuser.h”中)。

票数 4
EN

Stack Overflow用户

发布于 2011-01-24 05:19:41

我认为这几乎是不言自明的。

只能在DIALOGEX语句中使用

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

https://stackoverflow.com/questions/4778823

复制
相关文章

相似问题

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