从 BPL 中的资源加载 VCL STYLE
Loading a VCLSTYLE from a resource in a BPL
使用 Embarcadero C++Builder XE7。
我们已将一些样式放入资源中。样式已使用 "Project -> Resources and Images" 对话框添加。生成的 .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
。不管我是直接包含RC,还是放在BPL中用LoadPackage()
加载它,但是,它只是returns Windows 样式,而不是上面列出的那些。如何让主应用加载这些资源?
当手动将上述RC文件添加到库(或直接应用程序),以便它可以被资源编译器编译成RES文件并链接到BPL(或应用程序可执行文件)时,我需要添加
#include <Vcl.Themes.hpp>
#include <Vcl.Styles.hpp>
在申请中。否则,即使 RC 链接正确,样式也无法在运行时访问。
使用 Embarcadero C++Builder XE7。
我们已将一些样式放入资源中。样式已使用 "Project -> Resources and Images" 对话框添加。生成的 .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
。不管我是直接包含RC,还是放在BPL中用LoadPackage()
加载它,但是,它只是returns Windows 样式,而不是上面列出的那些。如何让主应用加载这些资源?
当手动将上述RC文件添加到库(或直接应用程序),以便它可以被资源编译器编译成RES文件并链接到BPL(或应用程序可执行文件)时,我需要添加
#include <Vcl.Themes.hpp>
#include <Vcl.Styles.hpp>
在申请中。否则,即使 RC 链接正确,样式也无法在运行时访问。