Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 83, средняя оценка - 4.76
reg_edit
1 / 1 / 0
Регистрация: 02.04.2009
Сообщений: 7
#1

Как подключить ресурс (картинку) в Visual Studio 2008 c++? - Visual C++

18.05.2009, 18:25. Просмотров 11651. Ответов 10
Метки нет (Все метки)

Добрый день.
Я совсем не могу понять как использовать ресурсы... я создал через Visual Studio файл с ресурсами (app.rc) и туда накидал картинок.... а как их в коде теперь достать ?
я пробывл через ResourceManager, но никак не пойму что ему давать в параметры, пробывал по всякому.

Может с app.rc надо сделать какуе то штуку чтоб получился app.resource ?
подскажите кто чем может.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2009, 18:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как подключить ресурс (картинку) в Visual Studio 2008 c++? (Visual C++):

Как подключить Boost к Visual Studio 2008 - Visual C++
Здравствуйте, подскажите пожалуйста как подключить boost к Visual Studio 2008. Хочу использовать его многопоточность в консольном...

Как в Visual Studio 2008 подключить библиотеку pthread.h? - Visual C++
Подскажите как подключить библиотеку pthread.h в Visual Studio 2008?

Отличие сборок Visual Studio 2008 от Visual Studio 2010 - Visual C++
Здравствуйте, товарищи! Пытаюсь собрать библиотеку libvbucket, используя Visual Studio 2008. Проблема в том, что библиотека...

Visual Studio 2008 как в лесу - Visual C++
я не особо сильно в этом шарю, хотел бы спросить, может кто и знает? как в этом детище от микрософта к кнопке привязать ссылку ?? есть...

visual studio 2008 что и как - Visual C++
Пытаюсь перейти на VS2008 аж с VS6.0 1998 года. Кто пользовался, помогите разобраться Куда делась кнопка Compile ? жамкаю Build...

объясните как пользоваться Visual Studio 2008 а именно работу с С++? - Visual C++
Доброго времени суток. Не сочтите за труд помочь новичку. Извините за такой вопрос, и он весьма может показаться дурацким, и не для форума,...

10
Шерсть-На-Носу
45 / 45 / 1
Регистрация: 30.01.2009
Сообщений: 168
18.05.2009, 19:36 #2
C++
1
2
CBitmap bitmap;
bitmap.LoadBitmap(ID_YOU_PICTURE);
0
reg_edit
1 / 1 / 0
Регистрация: 02.04.2009
Сообщений: 7
18.05.2009, 19:36  [ТС] #3
фух... разобрался сам.... вообщем если вдруг, кому то надо то вот список шаг к использованию ресурсов:
1. создаёте фаил *.resx ( через add new item)
2. запихиваете в него картинки которые нужны и компилируете этот фаил (правый клик мыши на него в инспекторе Solution )
3. запускаете утилиту ResGen (она в каталогах Визуал Студио валяется) с параметров файл который вы добавили в пункт 1. .....( ResGen.exe app.resx )
после этого создаться фаил с расширением *.resources
4. и далее уже в коде
C++
1
2
    ResourceManager ^resourceManager = gcnew ResourceManager(
        "ХХХ.УУУ", Assembly::GetExecutingAssembly() );
где ХХХ это имя главного именного пространства, а УУУ это имя файла (без расширения) созданного на этапе 1.
5. и далее чтоб получить картинку
C++
1
    .... = (Bitmap^)resourceManager->GetObject("ИМЯ_КАРТИНКИ");
имена картинки чувствительны к регистру букв. Их можно задать в файле *.resx при добавление картинки или даже потом.
-----
п.с. может что то делаю лишнее но так работает, а вот с *.rc файлами у меня не получилось.
1
Anka_gel
4 / 4 / 0
Регистрация: 13.07.2010
Сообщений: 45
14.07.2010, 06:46 #4
Цитата Сообщение от reg_edit Посмотреть сообщение
3. запускаете утилиту ResGen (она в каталогах Визуал Студио валяется) с параметров файл который вы добавили в пункт 1. .....( ResGen.exe app.resx )
после этого создаться фаил с расширением *.resources
Можно ли на этом пункте по подробнее? Непонятно как эту утилитку запустить! Я ее нахожу в каталоге VS, запускаю, а она быстро мигает консолью и тут же исчезает
0
M128K145
Эксперт JavaЭксперт С++
8316 / 3536 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
14.07.2010, 08:36 #5
Anka_gel, проверьте наличие файла *.resources в каталоге с исходниками
Программа просто запустилась, сгенерировала файл и успешно завершилась
0
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
14.07.2010, 08:52 #6
reg_edit, есть более простой метод
1. в конец файла *.rc добавляешь вот это
ID_MYFILE mainfile Project2.exe
ID_MYFILE1 mainfile1 Project1.dll
где Project2.exe и Project1.dll подключаемые файлы
компилируешь
2. в проге пишешь
C++
1
2
3
4
5
6
7
8
9
10
11
     
             HRSRC hRes;
             HMODULE hModule;
    HGLOBAL hResData;
    LPVOID lpData;
    DWORD dwSize;
             hModule = GetModuleHandle(NULL);
    hRes = ::FindResource(NULL,  _T("ID_MYFILE1"), _T("mainfile1"));
    hResData = LoadResource(hModule, hRes);
    lpData = LockResource(hResData);   
    dwSize = SizeofResource(hModule, hRes);
и у тебя будт этот файл по адрему lpData у тебя будет лежать этот файл
причем неважно какой

Добавлено через 46 секунд
потом может сохранить его в файл
C++
1
2
3
f= fopen("MyFile", "wb");
    fwrite(lpData, dwSize, 1, f);
    fclose(f);
0
CyBOSSeR
Эксперт С++
2308 / 1681 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 09:38 #7
D@rkD@iver, человек на управляемом C++ под .Net пишет, а не на Win32API/MFC.
0
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
14.07.2010, 09:50 #8
CyBOSSeR, он хотел через rc файл
я ему показал как, и с чего ты взял что он на .NET пишет?
0
Anka_gel
4 / 4 / 0
Регистрация: 13.07.2010
Сообщений: 45
14.07.2010, 11:23 #9
Цитата Сообщение от M128K145 Посмотреть сообщение
Anka_gel, проверьте наличие файла *.resources в каталоге с исходниками
Программа просто запустилась, сгенерировала файл и успешно завершилась
о, точно!! только название странное такое! значит так: нашла файл *.resources в каталоге
проект\obj\Debug\ ну и само название файла *.resources

вызвала csc.exe, перешла в каталог проекта и выполнила:

csc /t:winexe /r:MySql.Data.dll /out:Proga.exe *.cs /res:res.resources

вроде всё работает! иконка для формы отображается!

M128K145 спасибо!

Добавлено через 5 минут
а еще мне очень помог вот этот пост! http://www.cyberforum.ru/windows-for...tml#post381925

Добавлено через 36 минут
А еще вопрос! Захожу в свойства проекта, хочу указать иконку для программы! Можно ли как-то указать ссылку на тот же, созданный мною выше, файл res.resources? пока у меня получается только сделать так, чтобы ссылка была непосредственно на файлик icon.ico, расположенный в том же каталоге, что и exe-шник
0
M128K145
Эксперт JavaЭксперт С++
8316 / 3536 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
14.07.2010, 13:44 #10
Цитата Сообщение от D@rkD@iver Посмотреть сообщение
и с чего ты взял что он на .NET пишет
Хотя бы по этой строке
C++
1
2
ResourceManager ^resourceManager = 
    gcnew ResourceManager("ХХХ.УУУ", Assembly::GetExecutingAssembly() );
0
Anka_gel
4 / 4 / 0
Регистрация: 13.07.2010
Сообщений: 45
22.07.2010, 12:45 #11
Цитата Сообщение от Anka_gel Посмотреть сообщение
А еще вопрос! Захожу в свойства проекта, хочу указать иконку для программы! Можно ли как-то указать ссылку на тот же, созданный мною выше, файл res.resources? пока у меня получается только сделать так, чтобы ссылка была непосредственно на файлик icon.ico, расположенный в том же каталоге, что и exe-шник
Никто не поможет?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2010, 12:45
Привет! Вот еще темы с ответами:

Как установить MFC на Visual Studio 2008 Express Edition? - Visual C++
Как установить MFC на Visual Studio 2008 Express Edition?

Как подключить библиотеку ffmpeg к Visual Studio? - Visual C++
как подключить библиотеку ffmpeg к Visual Studio??

Как обработать в MFC visual studio 2008 обработку нажатых клавиш? - Visual C++
Как обработать в MFC visual studio 2008 обработку нажатых клавиш? Создал основанное на диалогах приложение, выбрал форму, нашел на ней...

Вылетает Visual Studio 2008 из-за системы управления версиями Microsoft Visual SourceSafe. - Visual C++
Всем здравствуйте. Недавно установил VS 2008 sp1 rus. Хочу создать проект на VC++ (делаю всё подобно как в VS 6.0). Файл - Создать...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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