Delphi TTaskDialog 可以使用 VCLStyles 吗?
问问题
820 次
2 回答
7
我刚刚在VCL Styles Utils库中添加了TTaskDialog支持。
要激活此功能,您需要将这些单元添加到您的项目中。
- Vcl.Styles.Utils.Forms
- Vcl.Styles.Utils.SysStyleHook
- Vcl.Styles.Utils.SysControls
- Vcl.Styles.Hooks
更多信息可以在这篇博文中找到。
于 2014-10-09T20:22:35.900 回答
5
AFAIK,正如 TLama 在他的评论中所说,这TTaskDialog
只是直接映射 Windows API,您将无法直接执行 VCL 样式。
但是您可以通过使用类似于本文中描述的关于在 TWebBrowser 中使用 VCL 样式的技巧来做到这一点。
我怀疑这将是一些工作,甚至是不可行的。您将不得不破解 Windows 创建的所有组件,这并不容易。任务对话框 API 没有提供完整和详细的 COM 接口,有很多回调,准备被覆盖,就像提供的TWebBrowser
那样。
如果您使用我们的开源任务对话框仿真代码作为开始,您可以强制将我们的仿真层与纯 VCL 组件一起使用。在这种情况下,使用样式将很容易。不要忘记向我们发送反馈和补丁,以便让单元得到改进!我认为,其他用户也希望受益于如此出色的功能。这就是开源的伟大之处:你开始做一些事情,发布,然后整合贡献,结果会变得更好。:)
于 2012-05-04T08:55:06.467 回答