本人习惯使用的两种方式:
一是把图像作为资源文件,直接编译到exe文件中使用,对小的应用来说,不拖家带口了。
二是从盘中调用,大的应用程序使用较多。
本文也简单介绍这种两方式在wxwidgets中的使用。
第一种方式:在codeblocks中建一个资源文件,后缀名为.rc
直接在Codeblocks中编辑这个资源文件,这里要注意: 程序自动按字母顺序排序,第1个是作用应用标题栏上的图标使用,即应用程序的图标。rc资源文件的格式如下,PNG图像对应的是RCDATA标记,必须大写。资源文件中必须加入#include "wx/msw/wx.rc"这行。
程序中的调用方式:
//wxInitAllImageHandlers();//使用所有类型,比较省事的方式
wxImage::AddHandler(new wxPNGHandler);//仅使用PNG图片需要添加这句。
m_toolBar->AddTool(wxID_ANY,"",wxBitmap(L"PNG_DATADEL",wxBITMAP_TYPE_PNG_RESOURCE),_("删除数据"));
上面红色部分就是如何使用资源文件中的图片。
第二种方式:调用外部文件。
// 加载外部文件中的PNG图片
wxBitmap bitmap(wxT("res\\datagrow_fill.png"),wxBITMAP_TYPE_PNG);
m_toolBar->AddTool(wxID_ANY,"",bitmap,_("生成图表"));
需要注意其中的路径必须是双斜杠。
其他图片也是如此使用。