How to include BMP. ICO files in project
-
- CodeLite Enthusiast
- Posts: 40
- Joined: Fri Jul 11, 2008 11:13 pm
- Contact:
How to include BMP. ICO files in project
Hi i was wondering how to include resources like BMP , ICO and so on in the project ?
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: How to include BMP. ICO files in project
Which framework do you use? (I can help you with wxWidgets...)
Eran
Eran
Make sure you have read the HOW TO POST thread
-
- CodeLite Enthusiast
- Posts: 40
- Joined: Fri Jul 11, 2008 11:13 pm
- Contact:
Re: How to include BMP. ICO files in project
wxWidgets it is indeed !!!
(i am also jewish and grew up in ISRAEL for 24 years)
(i am also jewish and grew up in ISRAEL for 24 years)
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: How to include BMP. ICO files in project
This is how I adds icons to CodeLite using wxWidgets:
1. create a .xrc file, name it resources.xrc (the name does not matter here).
Copy the following to it:
Where: /full/path/to/image/file is the image file on your machine (e.g. C:\Devel\picture.bmp)
2. add this file to your project.
3. create an empty file, name it resources.cpp and add it to the project as well (make sure that resources.xrc and resources.cpp are at the same path)
4. open the project settings, and switch to the 'Custom Makefile Steps' tab.
enter this:
Dependencies: resources.cpp
Rule action:
Note that <TAB> is the my way to tell you to place there a TAB character.
5. from the command line, do this: and compile your project - CodeLite at this point should run the wxrc command for you and generate the resources.cpp file.
6. At this point, your resources.cpp will contains a generated code which is the converted image into C array.
7. Add this code to your OnInit() method of your wxApp derived class:
To use your image:
From this point on, every time youmodify the resources.xrc file - building the project will force a regeneration of the resources.cpp.
You can add as many images as you want to the resources.xrc file.
HTH,
Eran
1. create a .xrc file, name it resources.xrc (the name does not matter here).
Copy the following to it:
Code: Select all
<resource>
<object class="wxBitmap" name="my_image_name">/full/path/to/image/file</object>
</resource>
2. add this file to your project.
3. create an empty file, name it resources.cpp and add it to the project as well (make sure that resources.xrc and resources.cpp are at the same path)
4. open the project settings, and switch to the 'Custom Makefile Steps' tab.
enter this:
Dependencies: resources.cpp
Rule action:
Code: Select all
resources.cpp: resources.xrc
<TAB>wxrc -c -v -o resources.cpp resources.xrc
5. from the command line, do this:
Code: Select all
touch resources.xrc
6. At this point, your resources.cpp will contains a generated code which is the converted image into C array.
7. Add this code to your OnInit() method of your wxApp derived class:
Code: Select all
//at the top of your wxApp derived class, add this code
#include <wx/xrc/xmlres.h> // for wxXmlResource
extern void InitXmlResource();
bool MyApp::OnInit()
{
...
// inside your OnInit method of wxApp derived class, add this code
wxXmlResource::Get()->InitAllHandlers();
wxImage::AddHandler( new wxPNGHandler );
wxImage::AddHandler( new wxCURHandler );
wxImage::AddHandler( new wxICOHandler );
wxImage::AddHandler( new wxXPMHandler );
wxImage::AddHandler( new wxGIFHandler );
wxImage::AddHandler( new wxBMPHandler );
InitXmlResource();
...
}
Code: Select all
wxBitmap bmp = wxXmlResource::Get()->LoadBitmap(wxT("my_image_name"));
You can add as many images as you want to the resources.xrc file.
HTH,
Eran
Make sure you have read the HOW TO POST thread