如何在wxWidgets框架中添加图片?

How to add picture in wxWidget's frame?

我是wxWidget 的新手。我想创建一个显示一些文本和图片的框架。我曾尝试搜索 internet/wsWidget 帮助,但找不到解决方案。我知道有一些图像处理程序,例如 wxPNGHandler();但我不知道如何使用它。任何显示图像的简单代码都会非常有用。

    class MyFrame : public wxFrame
    {
public:
     MyFrame();
    }

MyFrame :: MyFrame() : wxFrame( NULL, wxID_ANY, wxT( "My wxWidget" ), wxDefaultPosition, wxSize( 290, 180 ), wxCAPTION |  wxCLOSE_BOX)
{
  wxPanel *panel = new wxPanel(this, wxID_ANY);
  wxString  text = wxT("Text Display\n");
//Add image to display
}

试试这个。

//创建一个临时的(堆栈分配的)wxPaintDC对象 wxPaintDC paintDC(这个);

//绘制背景图 paintDC.DrawBitmap(wxBitmap(wxImage("image.png")),0,0);

试了一天,这个终于成功了。

wxPNGHandler *handler = new wxPNGHandler;
wxImage::AddHandler(handler);
wxStaticBitmap *image;
image = new wxStaticBitmap( this, wxID_ANY, wxBitmap("Windows_7_logo.png", wxBITMAP_TYPE_PNG), wxPoint(50,100), wxSize(100, 500));

您已经找到 wxStaticBitmap,但下次您有问题时,我的建议是在 wxWidgets samples 中搜索。例如,在示例目录下的所有 *.cpp 文件中搜索 png 会找到 samples/widgets/statbmp.cpp,这将为您提供要使用的控件的名称。