Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2010, 14:36   #1
alexandr_mn
 
Регистрация: 13.08.2010
Сообщений: 5
По умолчанию Описание диалога в .rc синтаксическая ошибка

Здравствуйте.
Помогите, пожалуйста найти ошибку

Пример из книги Финогенова Win32 Основы програмирования
Диалог в главном окне приложения
Файл ресурсов rc

...
About DIALOG 60,15,93,50
STYLE WS_SYSMENU|WS_CAPTION|WS_POPUP|DS_M ODALFRAME
CAPTION "О программе"
{
CONTROL "Автор программы\nАвтор\n2010",-1,"STATIC",SS_CENTER,12,4,72,25
CONTROL "Закрыть",ID_OK,"BUTTON",BS_PUSHBUT TON,27,32,43,12
}

Синтаксическая ошибка в строке (где STYLE)

...
About DIALOG 60,15,93,50
//
CAPTION "О программе"
{
//
}
Так работает, разумеется кнопку и надпись не показывает
Документирование исключённых строк по одной, по две, в любом порядке вызывает переход ошибки на другую строку
CodeBlocks+MinGW
alexandr_mn вне форума Ответить с цитированием
Старый 13.08.2010, 17:12   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

А почему DS_MODALFRAME с пробелом внутри?
Vago вне форума Ответить с цитированием
Старый 13.08.2010, 17:34   #3
alexandr_mn
 
Регистрация: 13.08.2010
Сообщений: 5
По умолчанию

Это сообщение так перенеслось на форум. В программе пробелов нет
всё набиралось через подсказки, если СВ предлагал их, чтобы не ошибиться.
Ещё раз:
STYLE WS_SYSMENU|WS_CAPTION|WS_POPUP|DS_M ODALFRAME
Опять же, если строку отключить, то ошибка появится в CONTROL...
alexandr_mn вне форума Ответить с цитированием
Старый 13.08.2010, 19:16   #4
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Тогда, в целЯх сбережения времени страждущих помочь, лучше выложить сюда весь проект.
Vago вне форума Ответить с цитированием
Старый 13.08.2010, 21:01   #5
alexandr_mn
 
Регистрация: 13.08.2010
Сообщений: 5
По умолчанию

Выкладываю
Вложения
Тип файла: rar Proj.rar (10.7 Кб, 7 просмотров)
alexandr_mn вне форума Ответить с цитированием
Старый 13.08.2010, 21:46   #6
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

В начале main.rc (например, сразу после #include "main.h" ) нужно по #include включить файл, который содержит значения констант WS_SYSMENU, WS_CAPTION, и т.д. (либо выводит на них по цепочке #include ). В M$VC 6 это
Код:
#include "afxres.h"
С MinGW, увы, не работал - посмотрите свою документацию или примеры по Win32 API.
Vago вне форума Ответить с цитированием
Старый 13.08.2010, 21:54   #7
alexandr_mn
 
Регистрация: 13.08.2010
Сообщений: 5
По умолчанию

Большое спасибо.
Сработал Ваш файл.
Я думал, что все эти штуки в windows.h
alexandr_mn вне форума Ответить с цитированием
Старый 13.08.2010, 22:10   #8
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Не за что. windows.h, действительно, выводит на winuser.h, который содержит определения всех этих констант. Но! В Ваш-то main.rc windows.h не включён!..
Vago вне форума Ответить с цитированием
Старый 13.08.2010, 22:39   #9
alexandr_mn
 
Регистрация: 13.08.2010
Сообщений: 5
Хорошо

Да, если заменить afxres.h на windows.h тоже работает. Обычно он в таких случаях пишет что то типа "Параметр не определён", а тут синтаксис.
Ещё раз Спасибо.

Последний раз редактировалось alexandr_mn; 13.08.2010 в 22:48.
alexandr_mn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Синтаксическая ошибка " или " в чём разница?" vedro-compota PHP 7 07.08.2010 16:45
Синтаксическая ошибка в VB Rosstarot Помощь студентам 1 20.06.2010 11:32
Дискриптор диалога _Dmitry_ Помощь студентам 0 24.03.2010 16:07
Синтаксическая диаграмма Fataller Помощь студентам 0 09.12.2009 20:57
Ошибка из-за открытия диалога Marisha* Общие вопросы Delphi 8 12.07.2009 16:15