wxWidgets:事件和事件处理
wxWidgets:事件和事件处理
与所有其他 GUI 框架一样,wxWidgets 应用程序中的流程控制是基于事件的:程序通常执行大部分操作以响应用户生成的事件。
这些事件可以通过直接使用输入设备(例如键盘、鼠标、操纵杆)来触发,或者更常见的是通过将这些输入事件合成为更高级别的事件的标准控件来触发:例如,wxButton可以在以下情况下生成单击事件用户按下鼠标左键,然后松开,Esc同时不按下。还有一些不直接对应于用户操作的事件,例如wxTimerEvent或wxSocketEvent。
但在所有情况下,wxWidgets 都以统一的方式表示这些事件,并允许您以相同的方式处理它们,无论它们来自何处。虽然事件通常由 wxWidgets 本身生成,但您也可以这样做,这在使用自定义事件时特别有用。
更准确地说,每个事件由以下描述:
事件类型:这只是一个 wxEventType 类型的值,它唯一地标识了事件的类型。例如,单击按钮、从列表框中选择项目并按下键盘上的键都会生成具有不同事件类型的事件。
事件携带的事件类:每个事件都有一些与之相关的信息,这些数据由从wxEvent派生的类的对象表示。不同类型的事件可以使用相同的事件类,例如按钮单击和列表框选择事件都使用wxCom