MyApp.h
#pragma once
#include <wx/wx.h>
class MyApp:public wxApp
{
public:
MyApp(void);
~MyApp(void);
virtual bool OnInit();
};
DECLARE_APP(MyApp);
MyApp.cpp
#include "MyApp.h"
#include "MyFrame.h"
IMPLEMENT_APP(MyApp);
MyApp::MyApp(void)
{
}
MyApp::~MyApp(void)
{
}
bool
MyApp::OnInit()
{
wxFrame* m = new MyFrame("Dynamic Event Table");
m->Show(true);
return true;
}
MyFrame.h
#pragma once
#include <wx/wx.h>
class MyFunctor{
public:
void operator()(wxCommandEvent& event){
wxMessageBox("MyFunctor Event");
}
};
class MyFrame:public wxFrame
{
private:
wxButton* exit_;
bool isAttached_;
MyFunctor fn_;
public:
MyFrame(const wxString& title);
~MyFrame(void);
private:
void OnExit(wxCommandEvent& event);
void OnToggle(wxCommandEvent& event);
};
MyFrame.cpp
#include "MyFrame.h"
MyFrame::MyFrame(const wxString& title)
:wxFrame(NULL, wxID_ANY, title)
{
wxPanel* panel = new wxPanel(this);
exit_ = new wxButton(panel,wxID_ANY,"Exit",wxPoint(100,10));
exit_->Bind( wxEVT_BUTTON, &MyFrame::OnExit, this);
isAttached_ = true;
wxButton* toggle = new wxButton(panel,wxID_ANY,"toggle",wxPoint(100,60));
toggle->Bind( wxEVT_BUTTON, &MyFrame::OnToggle, this);
wxButton* lambda = new wxButton(panel,wxID_ANY,"lambda",wxPoint(100,110));
lambda->Bind( wxEVT_BUTTON,
[](wxCommandEvent& event){
wxMessageBox("lambda event");
}
);
wxButton* fn = new wxButton(panel,wxID_ANY,"fn",wxPoint(100,160));
fn->Bind( wxEVT_BUTTON,fn_);
}
void
MyFrame::OnExit(wxCommandEvent& event){
wxMessageBox("OnExit");
}
void
MyFrame::OnToggle(wxCommandEvent& event){
this->isAttached_ = ! this->isAttached_;
switch( this->isAttached_){
case true:
exit_->Bind( wxEVT_BUTTON, &MyFrame::OnExit, this);
break;
case false:
exit_->Unbind( wxEVT_BUTTON, &MyFrame::OnExit, this);
break;
}
}
MyFrame::~MyFrame(void)
{
}
동영상 강좌가 정말 많은 도움이 되었습니다.
감사합니다.
감사합니다.
제가 운영중인 페이스북 카페에 가입해, 조금 더 많은 C++에 대한 정보를 얻으세요.
https://www.facebook.com/groups/OpenCPP/
공유해주신 동영상에서 많은 것을 배우고 있습니다. 감사합니다.
윈도우에서 GUI 프로그래밍을 가끔 하지만, RAD 툴에서 만들어주는 코드를 약간 변형하는 정도입니다.
동영상을 보다보니, 툴이 생성해주는 코드들에 대해 좀 더 이해할 수 있을 것 같습니다.
wxSmith 를 이용하여 wxWidget 를 사용하려 알아보는 중인데, 설명을 들으니 wxSmith 나 wxFormWBuilder 가 해주는 일을 약간은 이해할 수 있게 된 것 같습니다. 해당 툴을 사용하는데 많은 도움이 될 것 같습니다.
좋은 강좌에 감사드립니다.