标签: ttaskdialog

如何使用TTaskDialog?

如何使用TTaskDialog该类(在Delphi 2009及更高版本中)?官方文档没有帮助.实际上,通过使用CodeInsight或VCL源代码检查类,您可以学到更多.那里没有教学解释,但至少也没有错误(嗯,只有几个).

就在最近,我想知道如何回应对话框中的超链接点击.实际上,设置tfEnableHyperlinks标志,您可以在对话框的文本部分中包含HTML超链接.(好吧,文档说的是标志:"如果设置,内容,页脚和扩展文本可以包含超链接."当然,使用<AHTML元素实现链接是"显而易见的" .)我设法弄清楚我自己使用该OnHyperLinkClick事件来响应超链接的点击.但是这个事件是一个TNotifyEvent,所以你怎么知道点击了什么链接?好吧,文档没有说明这一点,所以我不得不猜测.最终我发现URL对话框的公共属性已经设置好了,所以我可以做到

procedure TmainFrm.TaskDialogHyperLinkClicked(Sender: TObject);
begin
  if Sender is TTaskDialog then
    with Sender as TTaskDialog do
      ShellExecute(0, 'open', PChar(URL), nil, nil, SW_SHOWNORMAL);
end;
Run Code Online (Sandbox Code Playgroud)

官方文档说,关于这个属性:

URL包含"任务"对话框的URL.

现在,你必须承认,这是一个很好的解释!但它比这更糟糕:文档不仅缺乏解释,还包含错误.例如,

ExpandButtonCaption:此按钮的附加信息.

那不是很准确.什么按钮?如果你显示这个特定属性的帮助,它说

ExpandButtonCaption包含扩展标题时要显示的其他文本.

也不好.标题是什么?一个正确的解释是

ExpandButtonCaption是按钮旁边显示的文本,用户可以展开对话框以显示更多信息.例如,此属性可能是"更多详细信息".

无论如何,目前,我正在尝试使用两个命令链接按钮创建一个对话框.我知道操作系统可以显示带有标题和更长解释的这些按钮,但我似乎无法使用它来使其工作TTaskButton.文档不是很好.

但是,我不会在SO处询问如何实现这一特定事物,而是提出另一个问题:

是否有TTaskDialog类的任何(非官方)文档?

delphi ttaskdialog

26
推荐指数
3
解决办法
9743
查看次数

如何验证是否在Delphi TTaskDialog中选中了复选框?

好吧,这应该很简单,但我找不到解决方案,至少在不太好的文档中没有找到.在a中TTaskDialog,你可以选择添加一个复选框.您可以通过tfVerificationFlagChecked标志来控制其初始状态Flags.但是如何在对话框结束后获得状态Execute

当然,可以OnVerificationClicked在每次调用时使用事件并切换一个局部变量,最初等于复选框的初始状态.但人们会期待更自然的解决方案.

delphi ttaskdialog tcheckbox

5
推荐指数
1
解决办法
2550
查看次数

4
推荐指数
2
解决办法
693
查看次数

Delphi TTaskDialog 位置打开

通过 Delphi 10.2.3:TTaskDialog 始终在屏幕中心打开,并且由于它没有 Position 属性,因此似乎没有直接的方法来覆盖该行为。我希望我所有的 TTaskDialogs 都定位在 poMainFormCenter。没有编写 TTaskDialog 的替代品,有没有办法强制这种行为?

delphi ttaskdialog

1
推荐指数
1
解决办法
113
查看次数

标签 统计

delphi ×4

ttaskdialog ×4

delphi-xe2 ×1

tcheckbox ×1

vcl-styles ×1