从BPL中的资源加载VCLSTYLE

时间:2016-02-24 14:44:58

标签: c++builder c++builder-xe7

使用Embarcadero C ++ Builder XE7。

我们在资源中放置了一些样式。使用“项目 - >资源和图像”对话框添加了样式。生成的.rc文件如下所示:

Auric VCLSTYLE "C:\\Program Files (x86)\\Embarcadero\\Studio\\15.0\\Redist\\styles\\vcl\\Auric.vsf"
Carbon VCLSTYLE "C:\\Program Files (x86)\\Embarcadero\\Studio\\15.0\\Redist\\styles\\vcl\\Carbon.vsf"

在构建期间,我可以看到资源已构建并链接。

我现在想要使用TStyleManager::Styles从我的主应用程序访问它,该应用程序已链接到此lib。无论我是直接包含RC,还是将其放在BPL中并使用LoadPackage()加载它,但是,它只返回Windows样式,而不是上面列出的样式。如何让主应用程序加载这些资源?

1 个答案:

答案 0 :(得分:0)

当手动将上述RC文件添加到库(或直接应用程序)时,它可以由资源编译器编译成RES文件并链接到BPL(或应用程序可执行文件),我需要添加

#include <Vcl.Themes.hpp>
#include <Vcl.Styles.hpp>

在申请中。否则,即使RC链接正确,也无法在运行时访问样式。