Witam, chciałbym napisać aplikację w C++ używając wxwidgets, która pozwoli na przeglądanie zdjęć. Jak mogę załadować zdjęcie (jaka klasa za to odpowiada) tak aby wyświtliło się w we wskazanym przez mnie miejscu?
Kiedy klikam przyciks Back wyskakuje mi błąd: Can't load bitmap from "ścieżka do pliku" resource. Check.rc file
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
int const ID_BTN_BACK = 1, ID_BTN_NEXT = 2, ID_BTN_CHOOSE_FILE = 3;
class myApp : public wxApp
{
public:
virtual bool OnInit();
};
class myFrame : public wxFrame
{
public:
myFrame();
wxPanel* img_panel;
private:
void back_btn_clicked(wxCommandEvent& event);
void next_btn_clicked(wxCommandEvent& event);
void choose_file_btn_clicked(wxCommandEvent& event);
};
wxIMPLEMENT_APP(myApp);
bool myApp::OnInit()
{
myFrame* frame = new myFrame();
frame->Show(true);
return true;
}
myFrame::myFrame() :
wxFrame(NULL, wxID_ANY, "My image aplication", wxDefaultPosition, wxSize(800, 600), wxCAPTION | wxCLOSE_BOX | wxMINIMIZE_BOX)
{
wxPanel* panel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(800, 600));
img_panel = new wxPanel(panel, wxID_ANY, wxDefaultPosition, wxSize(400, 300));
wxButton* btn_back = new wxButton(panel, ID_BTN_BACK, "Back", wxPoint(300, 400), wxSize(100, 50));
wxButton* btn_next = new wxButton(panel, ID_BTN_NEXT, "Next", wxPoint(400, 400), wxSize(100, 50));
wxButton* btn_choose_file = new wxButton(panel, ID_BTN_CHOOSE_FILE, "Choose file", wxPoint(350, 450), wxSize(100, 50));
Bind(wxEVT_BUTTON, &myFrame::back_btn_clicked, this, ID_BTN_BACK);
}
void myFrame::back_btn_clicked(wxCommandEvent& event)
{
wxStaticBitmap* img = new wxStaticBitmap(img_panel, wxID_ANY, wxBitmap(std::string("C:\\Users\\usr\\Pictures\\avatary\\zdjecie.jpg")), wxDefaultPosition,
wxSize(800, 200));
}
void myFrame::next_btn_clicked(wxCommandEvent& event)
{
// obsluga klawisza
}
void myFrame::choose_file_btn_clicked(wxCommandEvent& event)
{
// obsluga klawisza
}