Code: Select all
class clsWxBoard : public wxControl
{
protected:
virtual void OnPaint(wxPaintEvent& event);
virtual void OnLeftDown(wxMouseEvent& event);
virtual void OnLeftUp(wxMouseEvent& event);
virtual void OnMouseMove(wxMouseEvent& event);
virtual void OnClose(wxCloseEvent &event);
public:
clsWxBoard();
clsWxBoard(wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxControlNameStr);
virtual ~clsWxBoard();
...other...
};
void clsWxBoard::BindEvents()
{
Bind(wxEVT_PAINT, &clsWxBoard::OnPaint, this);
Bind(wxEVT_LEFT_DOWN, &clsWxBoard::OnLeftDown, this);
Bind(wxEVT_LEFT_UP, &clsWxBoard::OnLeftUp, this);
Bind(wxEVT_MOTION, &clsWxBoard::OnMouseMove, this);
}
void clsWxBoard::OnLeftDown(wxMouseEvent& event)
{
...do something...
event.Skip();
}
The control is created in gui.cpp (from wxFormBuilder):
Code: Select all
bSizer121 = new wxBoxSizer( wxVERTICAL );
m_board = new lwxBase::clsWxBoard( panBoard, wxID_LIGS_BOARD, wxDefaultPosition, wxSize(740, 740), 0 );
m_board->Init();
m_board->SetMinSize( wxSize( 600,600 ) );
bSizer121->Add( m_board, 0, wxALL, 5 );