7

如何在 dll 中嵌入 Delphi XE2 VCL-Styles?应用程序 - 外观页面在 DLL 项目的项目设置中不可见。

我尝试在包含 $R 指令的 rc 文件中定义它们,该指令有效,但如果有更好的方法我想知道。

RC 文件示例:

GOLDENGRAPHITE VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\GoldenGraphite.vsf"
CARBON VCLSTYLE "C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\Carbon.vsf"

特别是必须指定 XE2 安装文件夹的完整路径是我想要避免的。

4

3 回答 3

10

您可以使用的其他选项

1) 使用资源对话框。

在此处输入图像描述

2)编辑你的dll的dproj文件

在这把钥匙下<PropertyGroup Condition="'$(Base)'!=''">

VCL_Custom_Styles为 vcl 样式添加一个条目

<VCL_Custom_Styles>&quot;Amakrits|VCLSTYLE|$(PUBLIC)\Documents\RAD Studio\9.0\Styles\Amakrits.vsf&quot;;&quot;Amethyst Kamri|VCLSTYLE|$(PUBLIC)\Documents\RAD Studio\9.0\Styles\AmethystKamri.vsf&quot;;&quot;Aqua Graphite|VCLSTYLE|$(PUBLIC)\Documents\RAD Studio\9.0\Styles\AquaGraphite.vsf&quot;</VCL_Custom_Styles>
于 2012-03-14T14:35:04.173 回答
1

它也适用于我们(感谢罗德里戈)。只是几个细节

  • 不要期望在 Resource Type Combo Box 的列表中找到 VCLSTYLE,您必须手动输入。

  • 不要错过在你的 DLL 中初始化样式,我们将下一个代码添加到 FormCreate 事件中: TStyleManager.SetStyle('Carbon');

于 2013-02-01T12:23:43.727 回答
0

要正确访问作为资源添加的样式,请检查您将两个单元添加到使用子句:Vcl.Themes、Vcl.Styles。

于 2017-05-05T09:06:33.247 回答