查看源代码 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 来查找窗口内容可用的尺寸。