Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Ресурсы  (Прочитано 6955 раз)
0 Пользователей и 1 Гость смотрят эту тему.
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« : 23-08-2009 20:00 » 

Привет.
Что-то не пойму, как нормально организовать загрузку ресурсов по идентификаторам, а не по строкам.
Создаю файл .h
Код:
////res.h
#define MY_ICON      100
#define MY_CURSOR  101

Создаю файл .rc
Код:
#include "res.h"
MY_ICON ICON icon1.ico
MY_CURSOR CURSOR cursor1.cur

 Затем в описании структуры WNDCLASSEX гружу соответсвенно значок и курсор:
Код:
#include "windows.h"
#include "res.h"
...
WNDCLASSEX wc;
wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(MY_ICON));
wc.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(MY_ICON));
wc.hCursor = LoadCursor(hInstance, MAKEINTRESOURCE(MY_CURSOR));

Компилироваться не хочет, ругается на res.h
Что я не так делаю?
« Последнее редактирование: 23-08-2009 20:01 от The Nameless One » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 23-08-2009 21:13 » 

А что именно ругается? Полный текст ошибки можно увидеть?
Я так догадываюсь, что на повторное переопределение define?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 23-08-2009 21:58 » 

Конечно, сорри, что сразу не привел:
Код:
compiling resources...
C:\Proj\res.h(2) : fatal error RC1004: unexpected end of file found
Error executing rc.exe.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 23-08-2009 22:03 » 

http://msdn.microsoft.com/en-us/library/ms932412.aspx Попросту нужно добавить перевод каретки в твоем res.h файле после последнего #define. Я думал такое требование только в GCC Улыбаюсь
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 23-08-2009 22:14 » 

'\n' добавить?

Так
#define C1 100
#define I1 101
\n
Куча ошибок...
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #5 : 23-08-2009 22:17 » 

Нет. Заместо
Код:
////res.h
#define MY_ICON      100
#define MY_CURSOR  101
сделать
Код:
////res.h
#define MY_ICON      100
#define MY_CURSOR  101

Т.е. должна быть еше одна пустая строка в конце файла.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 23-08-2009 22:24 » 

Спасибо Улыбаюсь

Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines