如何在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安装文件夹的完整路径是我想要避免的。
答案 0 :(得分:7)
您可以使用的其他选项
1)使用“资源”对话框。
2)编辑dll的dproj文件
在此键<PropertyGroup Condition="'$(Base)'!=''">
为vcl样式添加一个条目VCL_Custom_Styles
<VCL_Custom_Styles>"Amakrits|VCLSTYLE|$(PUBLIC)\Documents\RAD Studio\9.0\Styles\Amakrits.vsf";"Amethyst Kamri|VCLSTYLE|$(PUBLIC)\Documents\RAD Studio\9.0\Styles\AmethystKamri.vsf";"Aqua Graphite|VCLSTYLE|$(PUBLIC)\Documents\RAD Studio\9.0\Styles\AquaGraphite.vsf"</VCL_Custom_Styles>
答案 1 :(得分:1)
它也适合我们(感谢Rodrigo)。只是几个细节
不要指望在资源类型组合框列表中找到VCLSTYLE,您必须手动输入。
不要错过初始化DLL中的样式,我们将下一个代码添加到FormCreate事件中: TStyleManager.SetStyle( '碳');
答案 2 :(得分:0)
要正确访问作为资源检查添加的样式,您要将uses子句添加到两个单位:Vcl.Themes,Vcl.Styles。