Я экспериментирую с API Win32 на C++, в частности с написанием файлов ресурсов. Теперь весь мой проект работал отлично, меню и названия и все такое. Однако, когда я добавить этот код для модального диалогового окна в файл .rc:Почему Windres сообщает о синтаксической ошибке в моей инструкции GROUPBOX?
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,
The GROUPBOX statement, which you can use only in a DIALOGEX statement, defines the text, identifier, dimensions, and attributes of a control window.
GROUPBOX text, id, x, y, width, height [, style [, extended-style]]
Их пример:
GROUPBOX "Options", 101, 10, 10, 100, 100
Что я делаю неправильно?
IDC_STATIC также определен в winuser.h –
@KenB: Это не так. Это контрольное значение, которое обычно берется из специфического для проекта ресурса.h. См. Любую из многочисленных примеров программ в SDK Windows Platform. –
Я только что использовал grep и нашел, что он определен не только в winuser.h, но и в afxres.h. –