查看源代码 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().

等同于 new(Title, Message, [])

此函数的链接

new(Title, Message, Options)

查看源代码
-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().

等同于 update(This, Value, [])

-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))。