檢視原始碼 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。
請參閱:showFullScreen/3
-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
顯示視窗(如果尚未顯示)。
請參閱:isFullScreen/1