wxWidgets-事件处理
2013-05-15 16:40
78 查看
1.wxEvtHanlder
2.事件处理函数
3.DECLARE_EVENT_TABLE
4.BEGIN_EVENT_TABLE
END_EVENT_TABLE
5.定义事件宏
MyFrame:public wxFrame{
1.void OnSize(wxSizeEvent& e);
2.void onButtonOK(wxCommandEvent& e);
private:
DECLARE_EVENT_TABLE()
}
wxButton* btn=new wxButton(this,wxID_OK,wxT("OK"),wxPoint(200,200);
BEGIN_EVENT_TABLE(MyFrame,wxFrame)
EVT_BUTTON(wxID_OK,MyFrame::OnButtonOK)
EVT_SIZE(..
END_EVENT_TABLE()
事件处理会在窗口控件的继承关系或者 类继承关系中搜索。
【
wxCommandEvent事件创建,包含标识符 wxID_OK,wxEVT_COMMAND_BUTTON_CLICKED,
wxEvtHandler::ProcessEvent 匹配
】
wxKeyEvent& - Skip() - 正常处理
wxBell() - 不会继续匹配事件
wxWindow::PushEventHandler
wxWindow::PopEventHandler
wxWindow::GetEventHandler
----???---p58
动态事件处理方法:
wxEvtHandler::Connect
wxEvtHandler::Disconnect - 不需要手动,窗口释放时自动调用
动态映射放在 OnInit函数中:
frame -> Connect(wxID_EXIT,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(MyFrame::OnQuit));
..
frame->Disconnect(wxID_EXIT,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(MyFrame::OnQuit));
窗口标识符:
只需要在固定上下文唯一
wxID_ANY 自动生成,不需要事件处理
自定义事件: - 没看懂 p67
wxEVT_FONT_SELECTION_CHANGED(id,func)
class wxCustomEvent : public wxNotifyEvent
{
public:
wxCustomEvent(wxEventType commandType==wxEvent_NULL,int id=0):wxNotifyEvent(commandType,id){}
wxCustomEvent(const wxCustomEvent& event):wxNotifyEvent(event){}
virtual wxEvent *Clone() const{return new wxCustomEvent(*this);}
DECLARE_DYNAMIC_CLASS(wxCustomEvent);
}
typeof void (wxEvtHandler::*wxCustomEvent)(wxCustomEvent&);
2.事件处理函数
3.DECLARE_EVENT_TABLE
4.BEGIN_EVENT_TABLE
END_EVENT_TABLE
5.定义事件宏
MyFrame:public wxFrame{
1.void OnSize(wxSizeEvent& e);
2.void onButtonOK(wxCommandEvent& e);
private:
DECLARE_EVENT_TABLE()
}
wxButton* btn=new wxButton(this,wxID_OK,wxT("OK"),wxPoint(200,200);
BEGIN_EVENT_TABLE(MyFrame,wxFrame)
EVT_BUTTON(wxID_OK,MyFrame::OnButtonOK)
EVT_SIZE(..
END_EVENT_TABLE()
事件处理会在窗口控件的继承关系或者 类继承关系中搜索。
【
wxCommandEvent事件创建,包含标识符 wxID_OK,wxEVT_COMMAND_BUTTON_CLICKED,
wxEvtHandler::ProcessEvent 匹配
】
wxKeyEvent& - Skip() - 正常处理
wxBell() - 不会继续匹配事件
wxWindow::PushEventHandler
wxWindow::PopEventHandler
wxWindow::GetEventHandler
----???---p58
动态事件处理方法:
wxEvtHandler::Connect
wxEvtHandler::Disconnect - 不需要手动,窗口释放时自动调用
动态映射放在 OnInit函数中:
frame -> Connect(wxID_EXIT,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(MyFrame::OnQuit));
..
frame->Disconnect(wxID_EXIT,wxEVT_COMMAND_MENU_SELECTED,wxCommandEventHandler(MyFrame::OnQuit));
窗口标识符:
只需要在固定上下文唯一
wxID_ANY 自动生成,不需要事件处理
自定义事件: - 没看懂 p67
wxEVT_FONT_SELECTION_CHANGED(id,func)
class wxCustomEvent : public wxNotifyEvent
{
public:
wxCustomEvent(wxEventType commandType==wxEvent_NULL,int id=0):wxNotifyEvent(commandType,id){}
wxCustomEvent(const wxCustomEvent& event):wxNotifyEvent(event){}
virtual wxEvent *Clone() const{return new wxCustomEvent(*this);}
DECLARE_DYNAMIC_CLASS(wxCustomEvent);
}
typeof void (wxEvtHandler::*wxCustomEvent)(wxCustomEvent&);
相关文章推荐
- wxWidgets事件处理(手机播放器连载系列2)
- wxWidgets中事件处理过程
- wxWidgets事件处理
- wxWidgets自定义事件处理
- [ZETCODE]wxWidgets教程六:事件处理
- wxWidgets事件处理
- wxWidgets中的事件处理
- wxWidgets事件处理(手机播放器连载系列2)
- wxWidgets中事件处理过程
- wxWidgets事件处理
- wxWidgets教程六:事件处理
- wxWidgets教程(2)-事件处理
- ASP.NET 环境下的并发与多线程处理及单件模式、事件重入
- EasyUI的datagrid中<a>标签需要点两次才能触发事件的处理方法
- jquery1.9 on()方法替代live()方法,用于给后来进入DOM中的html元素加处理事件。
- js事件绑定兼容处理方法。
- 事件处理-事件流
- QT程序中的事件处理
- Android-事件处理机制(待补充)
- 第2周:Java事件处理