檢視原始碼 wxProgressDialog (wx v2.4.3)
如果平台支援,此類別將提供平台的原生進度對話框,否則它將只是 wxGenericProgressDialog
(在 wx 中未實現)。
此類別繼承自,並可使用以下類別的函式:
wxWidgets 文件:wxProgressDialog
摘要
型別
-type wxProgressDialog() :: wx:wx_object().
函式
-spec destroy(This :: wxProgressDialog()) -> ok.
銷毀物件
-spec new(Title, Message) -> wxProgressDialog() when Title :: unicode:chardata(), Message :: unicode:chardata().
-spec new(Title, Message, [Option]) -> wxProgressDialog() when Title :: unicode:chardata(), Message :: unicode:chardata(), Option :: {maximum, integer()} | {parent, wxWindow:wxWindow()} | {style, integer()}.
-spec resume(This) -> ok when This :: wxProgressDialog().
可在使用者點擊「中止」按鈕後,用來繼續對話框。
-spec update(This, Value) -> boolean() when This :: wxProgressDialog(), Value :: integer().
-spec update(This, Value, [Option]) -> boolean() when This :: wxProgressDialog(), Value :: integer(), Option :: {newmsg, unicode:chardata()}.
更新對話框,將進度條設定為新值,並在指定新訊息時更新訊息。
傳回 true,除非已按下「取消」按鈕。
如果傳回 false,應用程式可以立即銷毀對話框,或詢問使用者是否確認中止,如果未確認中止,則可以使用 resume/1
函式恢復對話框。
如果 value
是對話框的最大值,則函式的行為取決於建立對話框時是否使用了 wxPD_AUTO_HIDE
。如果使用了,則對話框會隱藏,且函式會立即返回。如果沒有使用,則對話框會變成模態對話框,並等待使用者關閉它,這表示此函式會等到發生這種情況才會返回。
請注意,如果 newmsg
比目前顯示的訊息長,則對話框會自動加寬以適應它。但是,如果新訊息比之前的訊息短,則對話框不會縮小回來,以避免訊息經常變更時不斷調整大小。若要執行此操作並使對話框適合其目前內容,您可以明確呼叫 wxWindow:fit/1
。但是,此類別的原生 MSW 實作如果新文字的行數少於舊文字,則會使對話框變短,因此建議保持文字的行數不變,以避免對話框大小發生劇烈變化。您可能也希望使建立對話框時指定的初始訊息足夠寬,以避免稍後必須調整對話框大小,例如在其中附加一長串不可斷開的空格 (wxString
(在 wx 中未實作)(L'\u00a0', 100))。