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

大小事件包含有關 wxWindow 大小變更事件的資訊。

當視窗大小調整時,將會呼叫 EVT_SIZE 處理函式。

您可能希望使用此功能來適當地調整框架的子視窗大小。

請注意,傳遞的大小是整個視窗的大小:請呼叫 wxWindow:getClientSize/1 以取得應用程式可使用的區域。

當視窗大小調整時,通常只有視窗的一小部分會損壞,您可能只需要重新繪製該區域。但是,如果您的繪圖取決於視窗的大小,您可能需要明確清除 DC 並重新繪製整個視窗。在這種情況下,您可能需要呼叫 wxWindow:refresh/2 以使整個視窗失效。

重要 : Sizer (請參閱 overview_sizer ) 依賴大小事件才能正常運作。因此,在基於 sizer 的佈局中,不要忘記在您捕獲的所有大小事件上呼叫 Skip(當您不需要時,根本不要捕獲大小事件)。

請參閱

此類別繼承自 wxEvent,並可使用其函式。

wxWidgets 文件:wxSizeEvent

事件

使用 wxEvtHandler:connect/3wxSizeEventType 訂閱此類型的事件。

摘要

函式

傳回產生大小變更事件的整個視窗大小。

類型

-type wxSize() ::
          #wxSize{type :: wxSizeEvent:wxSizeEventType(),
                  size :: {W :: integer(), H :: integer()},
                  rect :: {X :: integer(), Y :: integer(), W :: integer(), H :: integer()}}.
-type wxSizeEvent() :: wx:wx_object().
-type wxSizeEventType() :: size.

函式

-spec getRect(This) -> {X :: integer(), Y :: integer(), W :: integer(), H :: integer()}
                 when This :: wxSizeEvent().
-spec getSize(This) -> {W :: integer(), H :: integer()} when This :: wxSizeEvent().

傳回產生大小變更事件的整個視窗大小。

這是視窗新的總大小,也就是說,與現在呼叫 wxWindow:getSize/1 會傳回的大小相同。 如果您在頂層視窗(例如 wxFrame)中捕獲此事件,請使用 wxWindow:getClientSize/1 來尋找可用於視窗內容的大小。