Re[3]: Включение ресурсов
От: Аноним  
Дата: 30.12.03 10:41
Оценка:
Здравствуйте, Шорр Кан, Вы писали:

ШК>1. Создано простое приложение. Без всего, пустое окно. Пока ресурсы не вставлены — естественно, компилятор говорит правильно:


ШК>error C2065: 'IDR_MAINFRAME' : undeclared identifier


ШК>2. Теперь создаю.rс . Он его включает в source-файлы. Я делаю insert иконки, и рисую ее. Сохраняю.


ШК>3. ID иконки задан не тот. Меняю ID на 'IDR_MAINFRAME'.


ШК> И он все равно пишет:


ШК>error C2065: 'IDR_MAINFRAME' : undeclared identifier



Откуда ты предлагаешь знать C++ компилятору, что такое 'IDR_MAINFRAME'?
Этот идентификатор должен быть где-то объявлен.

Традиционно (в проектах, которые генерит визард) подобные идентификаторы объявляются в resourse.h
примерно так:
#define IDR_MAINFRAME 15

После чего, этот resourse.h включается и в .rc файл и в твой .cpp файл (или в StdAfx.h)
примерно так:
#include "resource.h

после чего всё работает.

Попробуй сгенерить визардом проект и посмотри, что и куда он включит, что и где объявит.

Правда есть ещё зарезервированные идентификаторы (для кнопок OK, Cancel и т.п.), они объявляются где-то в виндовых заголовках, хотя тут я могу ошибаться. IDR_MAINFRAME случайно к ним не относится?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.