Ville Krumlinde
Ville Krumlinde

Reputation: 7131

VCL-Styles embedded in dll?

How do I embed Delphi XE2 VCL-Styles in a dll? The Application - Appearance page is not visible in project settings for DLL-projects.

I tried defining them in a rc-file included with a $R directive which works but if there is a better way I'd like to know.

RC-file example:

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"

In particular having to specify the full path to XE2-installation folder is something I want to avoid.

Upvotes: 7

Views: 4622

Answers (3)

Xavier Rosell
Xavier Rosell

Reputation: 1

To access correctly to the Style added as a resource check you are adding to the uses clause both units: Vcl.Themes, Vcl.Styles.

Upvotes: 0

Jose Sanchez
Jose Sanchez

Reputation: 11

It works for us also (thanks Rodrigo). Just a couple of details

  • Don't expect to find the VCLSTYLE on the list of the Resource Type Combo Box, you have to type it manually.

  • Don't miss to initialize the style in your DLL, we add the next code to the FormCreate event: TStyleManager.SetStyle('Carbon');

Upvotes: 1

RRUZ
RRUZ

Reputation: 136391

Another options which you can use

1) Using the Resource dialog.

enter image description here

2) Editing the dproj file of your dll

under this key <PropertyGroup Condition="'$(Base)'!=''">

Add one Entry VCL_Custom_Styles for the vcl styles

<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>

Upvotes: 10

Related Questions