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

当窗口的焦点改变时,会发送一个焦点事件。

失去焦点的窗口会收到一个“失去焦点”事件,而获得焦点的窗口会收到一个“设置焦点”事件。

请注意,当用户将焦点给予窗口时(无论是使用鼠标还是键盘),以及通过程序本身使用 wxWindow:setFocus/1 进行设置时,都会发生设置焦点事件。

焦点事件处理程序几乎总是应该在其事件参数上调用 wxEvent:skip/2,以允许执行默认处理。未能这样做可能会导致本地控件的行为不正确。另请注意,wxEVT_KILL_FOCUS 处理程序不得调用 wxWindow:setFocus/1,因为并非所有本地控件都支持这样做。如果需要这样做,请考虑使用 延迟动作机制(未在 wx 中实现),该机制在 wxIdleEvent 文档中描述。

请参阅:概述事件

此类派生自 wxEvent,并可以使用其函数。

wxWidgets 文档:wxFocusEvent

事件

使用 wxEvtHandler:connect/3wxFocusEventType 来订阅此类型的事件。

摘要

函数

返回与此事件关联的窗口,即对于 wxEVT_SET_FOCUS 事件,它是之前具有焦点的窗口,对于 wxEVT_KILL_FOCUS 事件,它是即将接收焦点的窗口。

类型

-type wxFocus() :: #wxFocus{type :: wxFocusEvent:wxFocusEventType(), win :: wxWindow:wxWindow()}.
-type wxFocusEvent() :: wx:wx_object().
-type wxFocusEventType() :: set_focus | kill_focus.

函数

-spec getWindow(This) -> wxWindow:wxWindow() when This :: wxFocusEvent().

返回与此事件关联的窗口,即对于 wxEVT_SET_FOCUS 事件,它是之前具有焦点的窗口,对于 wxEVT_KILL_FOCUS 事件,它是即将接收焦点的窗口。

警告:窗口指针可能为 NULL!