Delphi TTaskDialog可以使用VCLStyles吗?

时间:2012-05-04 07:21:53

标签: delphi delphi-xe2 vcl-styles ttaskdialog

Delphi TTaskDialog可以使用VCLStyles吗?

2 个答案:

答案 0 :(得分:6)

我刚刚将{em> TTaskDialog 支持添加到VCL Styles Utils库。

enter image description here

enter image description here

要激活此功能,您需要将这些单位添加到项目中。

  • Vcl.Styles.Utils.Forms
  • Vcl.Styles.Utils.SysStyleHook
  • Vcl.Styles.Utils.SysControls
  • Vcl.Styles.Hooks

可在此blog post上找到更多信息。

答案 1 :(得分:5)

AFAIK,正如TLama在评论中所述,这个TTaskDialog只是直接映射Windows API,你将无法直接进行VCL Style。

但是你可以通过使用与described in this article about using VCL Styles within a TWebBrowser类似的黑客来做到这一点。

我怀疑这可能是一些工作,甚至是不可行的。您必须破解Windows创建的所有组件,这并不容易。 Task Dialog API不提供完整而详细的COM接口,有很多回调,可以覆盖,就像TWebBrowser一样。

如果您使用我们的Open-Source Task Dialog emulation code作为开头,您可以强制使用我们的仿真层与纯VCL组件。在这种情况下,使用样式很容易。不要忘记向我们发送反馈和补丁,以便让设备得到改进!我认为其他用户希望获得如此好的功能。这是开源的好处:你开始发布,发布,然后contributions are integrated,结果会变得更好。 :)