【发布时间】:2020-03-27 12:23:22
【问题描述】:
我有一个TTaskDialog,它有一个OnButtonClicked 事件处理程序,其中执行了一个漫长的过程(几秒钟)。这很好用,但我想向用户表明事情正在发生,而这个漫长的过程正在进行中。我想在最初隐藏的对话框上有一个选框进度条,在单击CommandLink 时出现,并在执行冗长的过程时运行 - 我会选择一个可见但未启用的进度条在OnButtonClicked 事件中显示并“打开”对话框。仅包含tfShowMarqueeProgressBar 标志会导致该栏在对话框首次显示时出现并滚动,并且对话框的ProgressBar 属性没有Enabled 或Visible 类型属性来控制此行为。
Windows 本身有 TaskDialogs 可以做我想做的事,所以我知道这在理论上是可能的,尽管我意识到围绕本机控件的 VCL 包装器的结构可能使使用 VCL 对象变得困难或不可能。
使用TTaskDialog VCL 对象可以实现我想要的吗?
【问题讨论】:
-
您大概可以使用原始的 Win32 API。这就是我一直这样做的方式。
-
我使用来自@Arnaud Bouchez 的SynTaskDialog wrapper unit
标签: delphi ttaskdialog