檢視原始碼 wxFocusEvent (wx v2.4.3)
當視窗的焦點改變時,會發送焦點事件。
失去焦點的視窗會收到「失去焦點」事件,而獲得焦點的視窗會收到「設定焦點」事件。
請注意,設定焦點事件發生在使用者將焦點給予視窗(無論是使用滑鼠或鍵盤),以及從程式本身使用 wxWindow:setFocus/1
設定焦點時。
焦點事件處理程序幾乎總是應該在其事件參數上呼叫 wxEvent:skip/2
,以允許執行預設的處理。若不這樣做,可能會導致原生控制項的行為不正確。另請注意,wxEVT_KILL_FOCUS 處理程序不得呼叫 wxWindow:setFocus/1
,因為並非所有原生控制項都支援這樣做。如果需要這樣做,請考慮使用 延遲動作機制
(在 wx 中未實現),該機制在 wxIdleEvent
文件中有描述。
參閱:事件概述
此類別繼承自下列類別,並可使用其函式:
wxWidgets 文件:wxFocusEvent
事件
使用 wxEvtHandler:connect/3
與 wxFocusEventType
來訂閱此類型的事件。
摘要
函式
傳回與此事件關聯的視窗,也就是說,對於 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!