Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение ресурса иконки в файл 
V
    Опции темы
Нитонисе
Дата 6.1.2013, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



В файле ресурсов resource.res лежит иконка "MYICON". Надо ее сохранить в файл.
Код

#pragma resource "resource.res"

wchar_t *ResType = L"RT_ICON";
TResourceStream* Res = new TResourceStream((int)HInstance, "MYICON",ResType);
Res->SaveToFile("a.ico");
delete Res;


В итоге программа не может найти иконку, о чем и сообщает. Вообще мне нужна эта иконка для вставки в HTML страничку. Может быть можно из ресурса сразу в HTML страничку как-то эту иконку подключить, минуя стадию сохранения в файл?
PM MAIL   Вверх
artsb
Дата 6.1.2013, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Эм... Вообще-то, RT_ICON - это константа, равная:
Код

#define RT_ICON             MAKEINTRESOURCE(3)

Должно быть так:
Код

TResourceStream* Res = new TResourceStream((int)HInstance, "MYICON", RT_ICON);


Цитата(Нитонисе @  6.1.2013,  18:57 Найти цитируемый пост)
Может быть можно из ресурса сразу в HTML страничку как-то эту иконку подключить, минуя стадию сохранения в файл? 

Точно не уверен, но, ИМХО, нельзя. В странице указывается путь до изображения, а не само изображение. Поэтому, картинка должна храниться на диске.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 6.1.2013, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



artsb, все равно не находит иконку. Сообщение "Resource MYICON not found.". Сама иконка в ресурсе точно есть.
PM MAIL   Вверх
artsb
Дата 6.1.2013, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Вспомнил, что как-то думал на эту тему ))
Насколько удалось вспомнить, расклад такой: тип RT_ICON хранит иконки с индексами; имена иконок есть в типе RT_GROUP_ICON, но там хранится не сама иконка, а некий набор байт.
Если есть возможность, то сохраняйте иконки в ресурсах под своим типом или типом RT_RCDATA. В этом случае, иконка хранится "как есть".


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 6.1.2013, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Может у меня с файлом ресурса чего не то?

Добавлено @ 23:52
Цитата(artsb @  6.1.2013,  23:45 Найти цитируемый пост)
Если есть возможность, то сохраняйте иконки в ресурсах под своим типом или типом RT_RCDATA

Для формирования файлов ресурсов я пользуюсь программой Restorator2007. Там можно выбрать категорию добавляемого ресурса. В данном случае категория называется "Иконки". Думаю это и есть "свой" тип.

Это сообщение отредактировал(а) Нитонисе - 6.1.2013, 23:52
PM MAIL   Вверх
artsb
Дата 6.1.2013, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



С вашим файлом всё нормально.
Попробуйте этот. Тип ресурса "MY_ICO". Имя тоже самое.


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  resource.res 16,67 Kb


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 7.1.2013, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(artsb @  6.1.2013,  23:52 Найти цитируемый пост)
Тип ресурса "MY_ICO". 

Компилятор ругается на этот тип. Его как-то зарегистрировать надо?

Добавлено через 4 минуты и 49 секунд
Указал тип как L"MY_ICO" - компилятор скушал, но в файл ничего не сохраняется. Он пустой. А можно ли в ресурсах хранить png файлы?
PM MAIL   Вверх
artsb
Дата 7.1.2013, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Да. Кривой файл ресурсов. Попробуйте этот. У меня работает.

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  resource.res 33,21 Kb


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 7.1.2013, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(artsb @  7.1.2013,  12:33 Найти цитируемый пост)
Да. Кривой файл ресурсов. Попробуйте этот. У меня работает.
Вроде срабатывает. А как вы сделали этот файл ресурсов?

PM MAIL   Вверх
artsb
Дата 7.1.2013, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(Нитонисе @  7.1.2013,  13:02 Найти цитируемый пост)
А как вы сделали этот файл ресурсов?

Restorator2000 smile

Добавлено через 32 секунды
Но тоже самое можно сделать и с помощью *.rc файла.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 7.1.2013, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(artsb @  7.1.2013,  13:04 Найти цитируемый пост)
Restorator2000 
То есть вы просто переименовали раздел "Иконки" в "MY_ICO"?

PM MAIL   Вверх
artsb
Дата 7.1.2013, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(Нитонисе @  7.1.2013,  13:09 Найти цитируемый пост)
То есть вы просто переименовали раздел "Иконки" в "MY_ICO"?

Неа. Это не помогло. Добавил новый ресурс с новым типом.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 7.1.2013, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(artsb @  7.1.2013,  13:11 Найти цитируемый пост)
Неа. Это не помогло. Добавил новый ресурс с новым типом.
Все работает. Спасибо  smile 

PM MAIL   Вверх
Нитонисе
Дата 7.1.2013, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Что-то после этих манипуляций начались чудеса с иконкой программы. Я добавил в ресурсы несколько иконок с типом MI_ICO. Они нормально достаются из ресурса и сохраняются в файл. Затем я поменял иконку приложения через меню Project->Options->Application. Однако при запуске на панели задач появляется старая иконка приложения, которой по идее уже и быть-то не должно. В заголовке окна приложения появляется одна из добавленных мной иконок MY_ICO. И она же фигурирует в проводнике. 
PM MAIL   Вверх
artsb
Дата 7.1.2013, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Подцепите файл *.res


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0956 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.