索阅 100例 首 页| 资 讯| 下 载| 论 坛| 博 客| Webinar| 高 校| 专 刊| 会展| EETV| 百科| 问答| 电路图| 工程师手册| Datasheet

EEPW首页 > 百科 > 事件驱动

事件驱动


贡献者:jackwang    浏览:1557次    创建时间:2009-06-18

事件驱动  所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作.
  weWidgets的中所有可以处理事件的类都继承自wxEvtHandler,其中包含frames, buttons, menus, even documents,所有的窗体类(即从wxWindow继承的类)和程序类(application class).
  这些类可以有一个事件表,用来绑定事件和被调用的函数(handler functions).
  过程 3.2. 建立一个静态事件表(即编译时生成的事件表)的操作步骤
  建立一个新类(直接或间接从wxEvtHandler继承)
  为每个要处理的事件声明被调用的函数
  在被处理的事件所在的类的声明中加入宏DECLARE_EVENT_TABLE
  在宏BEGIN_EVENT_TABLE... END_EVENT_TABLE(就是事件表)中将函数与枚举的数字绑定(因为产生该类型的事件的按钮不唯一,要用枚举数来区分);有些事件不必与枚举数绑定,因为产生该类型的事件的对象可以确定(比如就是this).
  例 3.1. 一个事件表
  BEGIN_EVENT_TABLE(MyFrame, wxFrame)
  EVT_MENU (wxID_ABOUT, MyFrame::OnAbout)
  EVT_MENU (wxID_EXIT, MyFrame::OnQuit)
  EVT_SIZE ( MyFrame::OnSize)
  //不必与枚举数绑定,因为产生该类型的事件的对象是this
  EVT_BUTTON (wxID_OK, MyFrame::OnButtonOK)
  END_EVENT_TABLE()
  在事件中指定被绑定的数字,wxWidgets会将其映射到对应的函数,并调用函数
  所有在事件表中被绑定的函数有相似的形式:返回值都是void,不是virtual函数,参数为wxCommandEvent类型


如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请编辑词条     查看历史版本

开放分类

参考资料

贡献者
jackwang    


本词条在以下词条中被提及:

关于本词条的评论共:(0条)
匿名不能发帖!请先 [ 登陆 ]