查看源代码 wxEvent (wx v2.4.3)

事件是一个结构,包含传递给回调函数或成员函数的事件信息。

wxEvent 曾经是一个多用途事件对象,并且是其他事件类的抽象基类(见下文)。

有关事件的更多信息,请参阅 overview_events 概述。

参见

wxWidgets 文档: wxEvent

摘要

函数

返回与此事件关联的标识符,例如按钮命令 ID。

如果应该跳过事件处理程序,则返回 true,否则返回 false。

获取事件的时间戳。

如果事件是或派生自 wxCommandEvent,则返回 true,否则返回 false。

将传播级别设置为给定值(例如,从先前调用 stopPropagation/1 返回的值)。

测试此事件是否应该传播,即传播级别当前是否大于 0。

等效于 skip(This, [])

此方法可以在事件处理程序内部使用,以控制在当前处理程序返回后,是否会调用绑定到此事件的进一步事件处理程序。

阻止事件传播到其父窗口。

类型

-type wxEvent() :: wx:wx_object().

函数

-spec getId(This) -> integer() when This :: wxEvent().

返回与此事件关联的标识符,例如按钮命令 ID。

-spec getSkipped(This) -> boolean() when This :: wxEvent().

如果应该跳过事件处理程序,则返回 true,否则返回 false。

-spec getTimestamp(This) -> integer() when This :: wxEvent().

获取事件的时间戳。

时间戳是自某个固定时刻以来的毫秒数(不一定是标准的 Unix Epoch,因此通常只有时间戳之间的差异,而不是它们的绝对值才有意义)。

警告

wxWidgets 仅为鼠标和键盘事件返回非 NULL 时间戳(参见 wxMouseEventwxKeyEvent)。

-spec isCommandEvent(This) -> boolean() when This :: wxEvent().

如果事件是或派生自 wxCommandEvent,则返回 true,否则返回 false。

注意:仅出于优化目的而存在。

链接到此函数

resumePropagation(This, PropagationLevel)

查看源代码
-spec resumePropagation(This, PropagationLevel) -> ok
                           when This :: wxEvent(), PropagationLevel :: integer().

将传播级别设置为给定值(例如,从先前调用 stopPropagation/1 返回的值)。

-spec shouldPropagate(This) -> boolean() when This :: wxEvent().

测试此事件是否应该传播,即传播级别当前是否大于 0。

-spec skip(This) -> ok when This :: wxEvent().

等效于 skip(This, [])

-spec skip(This, [Option]) -> ok when This :: wxEvent(), Option :: {skip, boolean()}.

此方法可以在事件处理程序内部使用,以控制在当前处理程序返回后,是否会调用绑定到此事件的进一步事件处理程序。

如果没有 skip/2(或者如果使用 Skip(false)),则不会再处理该事件。如果调用 Skip(true),则事件处理系统将继续搜索此事件的进一步处理函数,即使它已经在当前处理程序中被处理过。

一般来说,建议跳过所有非命令事件,以便允许进行默认处理。但是,通常不跳过命令事件,因为通常单个命令(例如按钮单击或菜单项选择)只能由一个处理程序处理。

-spec stopPropagation(This) -> integer() when This :: wxEvent().

阻止事件传播到其父窗口。

返回旧的传播级别值,该值稍后可以传递给 resumePropagation/2 以允许再次传播事件。