檢視原始碼 wxFocusEvent (wx v2.4.3)

當視窗的焦點改變時,會發送焦點事件。

失去焦點的視窗會收到「失去焦點」事件,而獲得焦點的視窗會收到「設定焦點」事件。

請注意,設定焦點事件發生在使用者將焦點給予視窗(無論是使用滑鼠或鍵盤),以及從程式本身使用 wxWindow:setFocus/1 設定焦點時。

焦點事件處理程序幾乎總是應該在其事件參數上呼叫 wxEvent:skip/2,以允許執行預設的處理。若不這樣做,可能會導致原生控制項的行為不正確。另請注意,wxEVT_KILL_FOCUS 處理程序不得呼叫 wxWindow:setFocus/1,因為並非所有原生控制項都支援這樣做。如果需要這樣做,請考慮使用 延遲動作機制 (在 wx 中未實現),該機制在 wxIdleEvent 文件中有描述。

參閱:事件概述

此類別繼承自下列類別,並可使用其函式:

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!