Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.76
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
#1

Функция LoadImage - C++

04.07.2011, 18:47. Просмотров 3210. Ответов 6
Метки нет (Все метки)

Вопрос по работе функции LoadImageA в VS C++2010.
есть строка кода:
C++
1
2
startBitmap = (HBITMAP)::LoadImageA(hInstance, MAKEINTRESOURCE(IDB_BITMAP1),
IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);)
Ошибку выдает в втором параметре функции LoadImageA, среда говорит:
LoadImageA: невозможно преобразовать параметр 2 из LPWSTR в LPCSTR.
типы на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast.

Программа заменяет изображения, возможно плохо описал - скажите что еще уточнить.
PS: это пример из книги - что в двойне настораживает..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2011, 18:47     Функция LoadImage
Посмотрите здесь:

LoadImage - C++ WinAPI
Есть следующая проблема: необходимо создать ImageList для игровых карт, чтобы потом подгружать необходимые карты, проблема заключается при...

LoadImage(), LR_LOADFROMFILE и Windows CE - C++ WinAPI
Здравствуйте все! Полгода не могу найти ничего стоящего, помогите... Нужно загрузить картинку из bmp файла так как это делает...

LoadImage function не воспринимает путь к файлу - C++ WinAPI
Почему файл в самом проекте открывается нормально t1.bmp hBitmap = (HBITMAP)LoadImage(NULL, "t1.bmp", IMAGE_BITMAP, 0, 0,...

Как загрузить в окно изображение методом LoadImage? - C++ WinAPI
Пытаюсь загрузить в окно изображение. Ничего не получилось. И в книге непонятно написано. Объясните пож. что за CompatibleDC и что за...

Добавить рисунок в файл ресурсов и использовать его в LoadImage() - Visual C++
Пишу в MSVS 2010 Express, как известно там закрыта опция работы с файлами ресурсов, но файл ресурсов можно создать и редактировать...

Что-то не получается с ImageList и LoadImage, поведение курсора и собственнонарисованные окна - C++ WinAPI
1. Нужно установить в таб контрол иконки. Иконки 16 на 16, все в PNG в ресурс-файле с прозрачностью. Пробую #define PNG_TAB0 IDB_PNG1 ...

Функция удаления текста в скобках [2], непосредственно функция + 12кб вложений - C++
Доброго времени суток, случилось так, что пришлось работать с с-строками (лаба, угу), в которой нужно удалить весь текст в скобках,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
1907 / 1439 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
04.07.2011, 18:51     Функция LoadImage #2
А если не указывать явно версию функции (A), а использовать просто LoadImage, то не работает?
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
04.07.2011, 19:04  [ТС]     Функция LoadImage #3
grizlik78, да вроде скомпилилось, а вот с выполнением тяжко... будем думать чего эти пИсатели в книжках напридумали.

Добавлено через 1 минуту
невозможно найти и открыть файл PDB - о чем нибудь говорит?
grizlik78
Эксперт С++
1907 / 1439 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
04.07.2011, 19:08     Функция LoadImage #4
Ну, на всякий случай, большинство функций в WinAPI имеет 2 версии, как, например, с LoadImage:
LoadImageW (Unicode) и LoadImageA (ANSI)
Отличаются тем, что ожидают в качестве входных параметров строки в юникоде и ASCII соответственно.
Если в проекте отключить юникод, то, наверное, будет компилироваться и с LoadImageA. А может даже работать будет

А PDB не помню. Это не из отладочных файлов ли?

Добавлено через 1 минуту
Файлы PDB (C++)
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
04.07.2011, 19:22  [ТС]     Функция LoadImage #5
Если отладчик не может найти PDB-файл по этому пути или если путь является недопустимым (например, если проект был перемещен на другой компьютер), отладчик ищет путь, содержащий исполняемый EXE-файл, за которым следует путь к символам, указанный в диалоговом окне Параметры (папка Отладка, узел Символы). Отладчик не будет загружать PDB, не согласующийся с отлаживаемым двоичным файлом.
вот так облом... ни я ни студия этих файлов найти не можем...
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
04.07.2011, 20:25     Функция LoadImage #6
Цитата Сообщение от IIIa66uMEM6eP Посмотреть сообщение
Вопрос по работе функции LoadImageA в VS C++2010.
есть строка кода:
C++
1
2
startBitmap = (HBITMAP)::LoadImageA(hInstance, MAKEINTRESOURCE(IDB_BITMAP1),
IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);)
Ошибку выдает в втором параметре функции LoadImageA, среда говорит:
LoadImageA: невозможно преобразовать параметр 2 из LPWSTR в LPCSTR.
У вас используется функция в качестве второго параметра принимающая указатель на Ansi строку. А параметр передается в виде юникода. Так как MAKEINTRESOURCE макрос, определенный как:
C++
1
2
3
4
5
#ifdef UNICODE
#define MAKEINTRESOURCE  MAKEINTRESOURCEW
#else
#define MAKEINTRESOURCE  MAKEINTRESOURCEA
#endif // !UNICODE
При LoadImageA имеет смысл указывать макрос MAKEINTRESOURCEA , т.е. сторока Ansi.
По умолчанию включен юникод, по этому макрос MAKEINTRESOURCE определяется как MAKEINTRESOURCEW, чего в данном случаи для LoadImageA не подходит. Это можно поменять в настройках: alt+F7 -> Свойства конфигурации -> Общие -> Набор -> симоволов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2011, 11:51     Функция LoadImage
Еще ссылки по теме:

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

Функция sqrt: существует более одного экземпляра. Функция перегруженная - C++
#include <iostream> #include <math.h> #include <iomanip> using namespace std; int main(){ float s, p; int c, a; s=0; ...

какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() - C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()

Выясните, сохраняет ли булева функция 0, 1, является ли функция линейной, монотонной, само двойственной? - Дискретная математика
Помогите пожалуйста!!! Булева функция задана вектором значений F(x)=(1001) Выясните, сохраняет ли эта функция 0, 1, является ли эта...

Функция - Pos(s,s1). Назначение - поиск первого вхождения подстроки s1 в строку s (аналогичная функция C - strstr) - C (СИ)
Функция - Pos(s,s1). Назначение - поиск первого вхождения подстроки s1 в строку s (аналогичная функция C - strstr).Помогите плииз


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
05.07.2011, 11:51  [ТС]     Функция LoadImage #7
выполнено... теперь просто исполнительный собрать не может.. идут ошибки о ненахождении PDB.. впервый раз такой касяк..

Добавлено через 14 часов 16 минут
An1ka, с этим я уже разобрался) ошибка с PDB
Yandex
Объявления
05.07.2011, 11:51     Функция LoadImage
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru