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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2020, 08:15   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию Как загрузить иконку из ресурсов?

Имею проект Win32. Добавляю иконку в ресурсы. Студия автоматически даёт ей номер 103. Еще в ее свойствах есть поле ИД. Если я правильно понял, это название иконки в ресурсах. Однако, иконка грузится только по номеру:
Код:
           HICON ic1 = (HICON)LoadIcon(myInstance, MAKEINTRESOURCE(103));
А как загрузить ее по названию ресурса?

И еще странно: загружаю иконку, а студия говорит, что это BMP.

Почему так?
BLACK_RAIN вне форума Ответить с цитированием
Старый 19.04.2020, 09:14   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
А как загрузить ее по названию ресурса?
Код:
HICON ic1 = (HICON)LoadIcon(myInstance, MAKEINTRESOURCE(ЗДЕСЬ_ИМЯ_РЕСУРСА));
Например:
Код:
HICON ic1 = (HICON)LoadIcon(myInstance, MAKEINTRESOURCE(IDI_MY_ICON));
waleri вне форума Ответить с цитированием
Старый 19.04.2020, 10:11   #3
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Я уже пробовал. Оно так не грузится. Получается null вместо иконки.
Код:
            iconTree = (HICON)LoadIcon(myInstance, MAKEINTRESOURCE(L"icnTree"));
Во-первых, иконка не грузится.
Во-вторых, появлявется ошибка C4302 приведение типов: усечение из "const wchar_t *" к "WORD"

Последний раз редактировалось BLACK_RAIN; 19.04.2020 в 10:29.
BLACK_RAIN вне форума Ответить с цитированием
Старый 19.04.2020, 11:02   #4
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Всё, разобрался. Дурацкая система.
BLACK_RAIN вне форума Ответить с цитированием
Старый 19.04.2020, 22:16   #5
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Так а в чем проблема была?
Всем теперь стало интересно.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 20.04.2020, 16:16   #6
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Desc Посмотреть сообщение
в чем проблема была?
Так видно же по скринам.
Есть таки разница между
Код:
MAKEINTRESOURCE(L"icnTree")
и
Код:
MAKEINTRESOURCE(icnTree)
Id ресурса - это символ, который создаётся через #define и по сути является другой записью того же числа
Black Fregat вне форума Ответить с цитированием
Старый 20.04.2020, 19:36   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Давать ресурсам строковые имена так себе идея...
waleri вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять иконку в exe nikityan Общие вопросы Delphi 2 04.03.2012 15:16
Загрузить Собственную Иконку Vadik(R) Общие вопросы Delphi 4 16.10.2011 00:17
загрузить из imagelist иконку окна Человек_Борща Общие вопросы Delphi 1 14.11.2010 14:06
popupmenu загрузить иконку с файла Horus92 Помощь студентам 2 26.07.2010 20:55