Код: Выделить всё
#include
#include
#include
class MyApp : public wxApp
{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(MyApp)
class Notebook : public wxFrame
{
public:
Notebook(const wxString& title);
};
class MyPanelA : public wxPanel
{
public:
MyPanelA(wxNotebook* parent);
void FuncA(wxCommandEvent& event);
};
class MyPanelB : public wxPanel
{
public:
MyPanelB(wxNotebook* parent);
void FuncB(wxCommandEvent& event);
};
bool MyApp::OnInit()
{
Notebook* notebook = new Notebook(wxT("Notebook"));
notebook->Show(true);
return true;
}
Notebook::Notebook(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(400, 350))
{
wxNotebook* nb = new wxNotebook(this, -1, wxPoint(-1, -1),
wxSize(-1, -1), wxNB_BOTTOM);
MyPanelA* panel1 = new MyPanelA(nb);
MyPanelB* panel2 = new MyPanelB(nb);
nb->AddPage(panel1, wxT("Sheet1"));
nb->AddPage(panel2, wxT("Sheet2"));
CreateStatusBar();
Center();
}
MyPanelA::MyPanelA(wxNotebook* parent)
: wxPanel(parent, wxID_ANY)
{
wxButton* Button1 = new wxButton(this, wxID_ANY, wxT("Button A"));
Button1->Bind(wxEVT_BUTTON, &MyPanelA::FuncA, this, wxID_ANY);
//Button1->Bind(wxEVT_BUTTON, &MyPanelB::FuncB, this, wxID_ANY);
}
MyPanelB::MyPanelB(wxNotebook* parent)
: wxPanel(parent, wxID_ANY)
{
wxButton* Button2 = new wxButton(this, wxID_ANY, wxT("Button B"));
Button2->Bind(wxEVT_BUTTON, &MyPanelB::FuncB, this, wxID_ANY);
//Button2->Bind(wxEVT_BUTTON, &MyPanelA::FuncA, this, wxID_ANY);
}
void MyPanelA::FuncA(wxCommandEvent& event)
{
wxMessageBox("This is Func A");
}
void MyPanelB::FuncB(wxCommandEvent& event)
{
wxMessageBox("This is Func B");
}
Я не уверен, что означает эта ошибка, но у меня такое ощущение Я отправляю неправильный объект и мне следует использовать что-то другое, кроме «это». Это правда? Если да, то какой объект мне следует использовать и как его найти?
Подробнее здесь: https://stackoverflow.com/questions/788 ... a-differen