查看源码 wxTopLevelWindow (wx v2.4.3)
wxTopLevelWindow
是 wxDialog
和 wxFrame
的通用基类。
它是一个抽象基类,这意味着您永远不会直接使用此类的对象,但其所有方法也适用于上述两个类。
请注意,wxTopLevelWindow
的实例由 wxWidgets 在内部顶层窗口列表中管理。
参见
此类派生自以下类,并且可以使用以下类中的函数
wxWidgets 文档:wxTopLevelWindow
事件
从此类发出的事件类型
摘要
函数
将窗口居中于屏幕。
返回窗口的标准图标。
返回与窗口关联的所有图标,如果之前既没有调用 setIcon/2
也没有调用 setIcons/2
,则不会有任何图标。
获取包含窗口标题的字符串。
将窗口图标化或恢复。
如果此窗口当前处于活动状态,即用户当前正在使用它,则返回 true。
如果窗口处于全屏模式,则返回 true。
如果窗口被图标化,则返回 true。
如果窗口已最大化,则返回 true。
最大化或恢复窗口。
当窗口在后台时,使用依赖于系统的方式来吸引用户的注意力。
设置此窗口的图标。
为该窗口设置多个不同大小的图标:这允许在不同情况下使用不同的图标(例如,
如果平台支持,则将窗口的形状设置为 region
所描述的形状。
设置窗口标题。
根据 show
参数的值,窗口将显示为全屏或恢复为正常状态。
类型
-type wxTopLevelWindow() :: wx:wx_object().
函数
-spec centerOnScreen(This) -> ok when This :: wxTopLevelWindow().
-spec centerOnScreen(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {dir, integer()}.
等同于:centreOnScreen/2
-spec centreOnScreen(This) -> ok when This :: wxTopLevelWindow().
-spec centreOnScreen(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {dir, integer()}.
将窗口居中于屏幕。
-spec getIcon(This) -> wxIcon:wxIcon() when This :: wxTopLevelWindow().
返回窗口的标准图标。
如果之前没有通过 setIcon/2
设置图标,则该图标将无效。
参见:getIcons/1
-spec getIcons(This) -> wxIconBundle:wxIconBundle() when This :: wxTopLevelWindow().
返回与窗口关联的所有图标,如果之前既没有调用 setIcon/2
也没有调用 setIcons/2
,则不会有任何图标。
使用 getIcon/1
获取窗口的主图标。
参见:wxIconBundle
-spec getTitle(This) -> unicode:charlist() when This :: wxTopLevelWindow().
获取包含窗口标题的字符串。
参见:setTitle/2
-spec iconize(This) -> ok when This :: wxTopLevelWindow().
等同于 iconize(This, [])
。
-spec iconize(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {iconize, boolean()}.
将窗口图标化或恢复。
请注意,在 wxGTK 中,窗口状态的更改不是立即的,也就是说,在调用 iconize/2
后,isIconized/1
通常会返回 false,并且只有在控制流返回到事件循环并收到窗口真正被图标化的通知后,其返回值才会更改。
参见
-spec isActive(This) -> boolean() when This :: wxTopLevelWindow().
如果此窗口当前处于活动状态,即用户当前正在使用它,则返回 true。
-spec isFullScreen(This) -> boolean() when This :: wxTopLevelWindow().
如果窗口处于全屏模式,则返回 true。
-spec isIconized(This) -> boolean() when This :: wxTopLevelWindow().
如果窗口被图标化,则返回 true。
-spec isMaximized(This) -> boolean() when This :: wxTopLevelWindow().
如果窗口已最大化,则返回 true。
-spec maximize(This) -> ok when This :: wxTopLevelWindow().
等同于 maximize(This, [])
。
-spec maximize(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {maximize, boolean()}.
最大化或恢复窗口。
请注意,与 iconize/2
一样,至少在 wxGTK 端口中,窗口状态的更改不是立即的。
参见:iconize/2
-spec requestUserAttention(This) -> ok when This :: wxTopLevelWindow().
-spec requestUserAttention(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {flags, integer()}.
当窗口在后台时,使用依赖于系统的方式来吸引用户的注意力。
flags
的值可以是 ?wxUSER\_ATTENTION\_INFO
(默认值) 或 ?wxUSER\_ATTENTION\_ERROR
,后者会导致更强烈的操作。如果犹豫,请使用默认值。
注意:此函数通常只应在应用程序不在前台时使用。
此函数目前在 Win32 中实现,它会闪烁任务栏中的窗口图标,并且在支持它的任务栏的 wxGTK 中实现。
-spec setIcon(This, Icon) -> ok when This :: wxTopLevelWindow(), Icon :: wxIcon:wxIcon().
设置此窗口的图标。
备注:窗口获取 icon
的“副本”,但由于它使用引用计数,因此复制速度非常快。调用此函数后,可以安全地删除 icon
。
注意:在 wxMSW 中,icon
必须是 16x16 或 32x32 图标。
参见
-spec setIcons(This, Icons) -> ok when This :: wxTopLevelWindow(), Icons :: wxIconBundle:wxIconBundle().
为该窗口设置多个不同大小的图标:这允许在不同情况下使用不同的图标(例如,
任务切换栏、任务栏、窗口标题栏),而不是缩放,从而可能产生外观不佳的效果,只是通过 setIcon/2
设置的图标。
注意:在 wxMSW 中,icons
必须包含一个 16x16 或 32x32 的图标,最好两者都包含。
参见:wxIconBundle
-spec setShape(This, Region) -> boolean() when This :: wxTopLevelWindow(), Region :: wxRegion:wxRegion() | wxGraphicsPath:wxGraphicsPath().
如果平台支持,则将窗口的形状设置为 region
所描述的形状。
对于位于区域外部的像素,系统不会显示或响应任何鼠标事件。要将窗口重置为正常的矩形形状,只需使用一个空的 wxRegion
再次调用 setShape/2
。如果操作成功,则返回 true。
此方法仅在 wxWidgets 2.9.3 版本之后才在此类中提供,之前的版本仅在 wxTopLevelWindow
中提供。
请注意,具有非默认形状的窗口具有固定大小,不能使用 wxWindow:setSize/6
调整大小。
-spec setTitle(This, Title) -> ok when This :: wxTopLevelWindow(), Title :: unicode:chardata().
设置窗口标题。
参见:getTitle/1
-spec showFullScreen(This, Show) -> boolean() when This :: wxTopLevelWindow(), Show :: boolean().
-spec showFullScreen(This, Show, [Option]) -> boolean() when This :: wxTopLevelWindow(), Show :: boolean(), Option :: {style, integer()}.
根据 show
参数的值,窗口将显示为全屏或恢复为正常状态。
style
是一个位列表,其中包含以下一些或所有值,这些值指示要在全屏模式下隐藏窗口的哪些元素
?wxFULLSCREEN\_NOMENUBAR
?wxFULLSCREEN\_NOTOOLBAR
?wxFULLSCREEN\_NOSTATUSBAR
?wxFULLSCREEN\_NOBORDER
?wxFULLSCREEN\_NOCAPTION
?wxFULLSCREEN\_ALL
(以上所有)
此函数尚未在 MDI 框架中进行测试。
注意:显示全屏窗口实际上也会 wxWindow:show/2
显示窗口(如果它未显示)。