如何在wxWidget的框架中添加图片?

How to add picture in wxWidget's frame?

本文关键字:添加 框架 wxWidget      更新时间:2023-10-16

我对wxWidget很陌生。我想创建一个显示一些文本和图片的框架。我曾尝试在互联网/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 Displayn");
//Add image to display
}

经过一天的尝试,终于这个成功了。

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,从而为您提供要使用的控件的名称。

试试这个。

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

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