Включение ресурсов
От: Шорр Кан  
Дата: 29.12.03 01:23
Оценка:
Привет всем!

Помогите. ПРоблема вот в чем:

Хочу, не используя AppWizzard, создать простой приложение — обычное окно. Все создал, получилось, но как добавить ресурсы? При компиляции он просто не видит этих ресурсов, которые я вставляю, хотя идентификатор в resurce.h прописан, да и сама иконка загружена... В чем дело, а?

А сам .rc файл не редактируется в текстовом виде То есть, просто в текстовом режиме не вижу его.

29.12.03 11:35: Перенесено модератором из 'C/C++' — ПК
Re: Включение ресурсов
От: Jenyay http://jenyay.net
Дата: 29.12.03 05:35
Оценка:
Здравствуйте, Шорр Кан, Вы писали:

ШК>А сам .rc файл не редактируется в текстовом виде То есть, просто в текстовом режиме не вижу его.


А файл .rc к проекту подцепил?
... << RSDN@Home 1.1.0 stable >>
Софт, исходники и фото
Re[2]: Включение ресурсов
От: Шорр Кан  
Дата: 29.12.03 15:34
Оценка:
Да, конечно.


Здравствуйте, Jenyay, Вы писали:

J>Здравствуйте, Шорр Кан, Вы писали:


ШК>>А сам .rc файл не редактируется в текстовом виде То есть, просто в текстовом режиме не вижу его.


J>А файл .rc к проекту подцепил?
Re: Включение ресурсов
От: Аноним  
Дата: 29.12.03 15:49
Оценка:
Здравствуйте, Шорр Кан, Вы писали:

ШК>Привет всем!


ШК>Помогите. ПРоблема вот в чем:


ШК>Хочу, не используя AppWizzard, создать простой приложение — обычное окно. Все создал, получилось, но как добавить ресурсы? При компиляции он просто не видит этих ресурсов, которые я вставляю, хотя идентификатор в resurce.h прописан, да и сама иконка загружена... В чем дело, а?


А этот resource.h ты куда-нибудь включаешь?
Как ругается компилятор?

ШК>А сам .rc файл не редактируется в текстовом виде То есть, просто в текстовом режиме не вижу его.


Что значит не вижу?
А если NotePad'ом? или Far'ом?
Re[2]: Включение ресурсов
От: Шорр Кан  
Дата: 30.12.03 01:24
Оценка:
1. Создано простое приложение. Без всего, пустое окно. Пока ресурсы не вставлены — естественно, компилятор говорит правильно:

error C2065: 'IDR_MAINFRAME' : undeclared identifier

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

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

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

error C2065: 'IDR_MAINFRAME' : undeclared identifier




Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Шорр Кан, Вы писали:


ШК>>Привет всем!


ШК>>Помогите. ПРоблема вот в чем:


ШК>>Хочу, не используя AppWizzard, создать простой приложение — обычное окно. Все создал, получилось, но как добавить ресурсы? При компиляции он просто не видит этих ресурсов, которые я вставляю, хотя идентификатор в resurce.h прописан, да и сама иконка загружена... В чем дело, а?


А>А этот resource.h ты куда-нибудь включаешь?

А>Как ругается компилятор?

ШК>>А сам .rc файл не редактируется в текстовом виде То есть, просто в текстовом режиме не вижу его.


А>Что значит не вижу?

А>А если NotePad'ом? или Far'ом?
Re[3]: Включение ресурсов
От: Павел Кузнецов  
Дата: 30.12.03 08:28
Оценка:
Здравствуйте, Шорр Кан, Вы писали:

ШК> <...>


ШК> <... избыточное цитирование ...>


Ваше сообщение нарушает правила форумов RSDN в отношении оформления и объема
цитирования.

Подобный стиль цитирования, т.е. набор нового текста в начале сообщения с
последующим цитированием всего текста оригинального сообщения (top posting)
не приветствуется в форумах RSDN.ru, более того, настоятельно рекомендую
избегать этого в дальнейшем, так как:

Q: Because it reverses the logical flow of conversation.
A: Why is top posting frowned upon?


Ваши читатели будут вам благодарны, если в дальнейшем вы будете цитировать из
исходного сообщения ровно столько, сколько необходимо для понимания контекста
вашего ответа, а также размещать строки своего ответа непосредственно под
цитируемыми фрагментами, соответственно разбивая исходное сообщение.

Может быть, лично вам по каким-либо причинам более удобен формат, использованный
вами в своем ответе; также вполне возможно, что вы можете не соглашаться
с соображениями, изложенными выше. Тем не менее, обращаю ваше внимание, что
предлагаемый формат сообщений является именно тем, что предпочитает большинство
активных пользователей RSDN.ru, и, соответственно, тем, чего они ожидают для
комфортного чтения. Следуя принятым здесь обычаям, вы скорее встретите
доброжелательно настроенных собеседников, готовых помочь и пойти навстречу.

Спасибо.

P.S. Пожалуйста, не отвечайте на данное сообщение в форуме. Вопросы, пожелания
и замечания относительно модерирования этого и других форумов rsdn.ru —
в .
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
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 случайно к ним не относится?
Re[4]: Включение ресурсов
От: Шорр Кан  
Дата: 31.12.03 00:32
Оценка:
Теперь следующая ошибка:

Linking...
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Release/123.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

123.exe — 3 error(s), 0 warning(s)


А вот здесь совсем не могу разобраться.



Здравствуйте, Аноним, Вы писали:

А>Откуда ты предлагаешь знать C++ компилятору, что такое 'IDR_MAINFRAME'?

А>Этот идентификатор должен быть где-то объявлен.

А>Традиционно (в проектах, которые генерит визард) подобные идентификаторы объявляются в resourse.h

А>примерно так:
А>#define IDR_MAINFRAME 15

А>После чего, этот resourse.h включается и в .rc файл и в твой .cpp файл (или в StdAfx.h)

А>примерно так:
А>#include "resource.h

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


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


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