Ресурс DialogBox для WINAPI в файле ресурсов CMAKE, возвращающий синтаксическую ошибку - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь загрузить DialogBox в мое приложение WIN32 через файл ресурсов, но CMake выдает синтаксическую ошибку.

Код в моем файле ресурсов:

#include "resource.h"
IDD_ABOUTDIALOG 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",
                    IDC_STATIC,16,18,144,33
END

C-код, который бы загружал ресурс:

int ret = DialogBox(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_ABOUTDIALOG), hwnd, AboutDlgProc);

Файл заголовка ресурса:

#ifndef WIN32_RESOURCE_H
#define WIN32_RESOURCE_H

#define IDD_ABOUTDIALOG 101

#endif //WIN32_RESOURCE_H

Сообщение об ошибке, напечатанное CMake:

Resource.rc: 3: синтаксическая ошибка

Я использую MinGW в CLION (стандарт C11)

1 Ответ

1 голос
/ 03 июля 2019

Как правило, параметры STYLE, такие как стиль окна (WS_) и стиль диалога (DS_), определяются в системном заголовочном файле.

Следовательно, добавьте #<windows.h> перед использованием этихзначений, вы должны #include редактировать возможные или похожие заголовочные файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...