为什么Windres在我的GroupBox语句上报告语法错误?
题
我正在使用C ++中的Win32 API进行实验,特别是编写资源文件。现在,我的整个项目都很好,菜单和标题以及所有内容。但是,当我将此代码添加到一个模态对话框中时
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出于以下错误退出:
windres: resource.rc:40: syntax error
第40行是指:
GROUPBOX "About this program...",IDC_STATIC,7,7,225,52
根据 MSDN,
您只能在DialoGex语句中使用的GroupBox语句定义了控制窗口的文本,标识符,尺寸和属性。
GroupBox文本,ID,X,Y,宽度,高度[,样式[,扩展风格]
他们的例子:
GROUPBOX "Options", 101, 10, 10, 100, 100
我究竟做错了什么?
解决方案
如果您在切换到 DIALOGEX
语句(正如@yeenfei指出的那样),我唯一能想到的是 IDC_STATIC
没有定义。
尝试将其更改为
GROUPBOX "About this program...",-1,7,7,225,52
如果解决问题,则是因为未定义标识符。
我通过平台SDK标头(6.1和7.1)进行了搜索,但找不到它。我认为这可能是MFC特定的标识符 - 一些快速谷歌搜索建议MFC在“ Afxres.h”中定义了它,如果尚未定义。
IDOK
和 IDCANCEL
即使您没有明确定义它们,因为它们是在平台SDK中定义的(在“ hinuser.h”中)。
其他提示
我认为这几乎是不言自明的
只能在 对话陈述
不隶属于 StackOverflow