Skip to main content
All docs
V24.1

Global Application Settings

  • 4 minutes to read

This topic lists all application-wide appearance and behavior settings available for DevExpress controls and forms.

Skins and Palettes

TdxSkinController is a non-visual component that allows you to configure application-wide appearance settings, such as skins, palettes, scrollbar-related options, etc. These look & feel settings are common to all DevExpress controls and forms except for TdxLayoutControl and the majority of Views in the TdxNavBar control. Since these controls have independent look & feel settings, you need to apply the same skin and palette to them to maintain visual consistency of your application.

VCL Shared Libraries: Skin Examples

To manage global appearance settings in an application, you need to add a TdxSkinController component to a form. Multiple TdxSkinController instances share the same settings.

Main Skin Controller Settings

The list below outlines key members of the TdxSkinController class that allow you to configure application-wide appearance settings.

NativeStyle
Specifies if DevExpress controls and application forms use operating system-dependent draw routines to render all UI elements. If this option is enabled, all skin and color palette settings have no effect.
ScrollMode | ScrollbarMode
Allow you to switch between supported scrollbar types and scrolling modes for all controls that support them.
SkinName | SkinPaletteName
Specify skin and color palette applied to the application if the NativeStyle property is set to False. Only vector skins can switch between color palettes.
TouchMode
Specifies if Touch Mode is enabled.

Refer to the TdxSkinController class description for detailed information on all available options.

DevExpress Controls with Independent Skin Settings

Global appearance settings specified through a TdxSkinController component do not affect the Layout Control.

Toolbar UIs and Bar Manager

To apply global skin settings to a toolbar UI in your application, make sure that the TdxBarManger component’s Style property is set to bmsUseLookAndFeel.

Layout Control Skins

The TdxLayoutControl ships with the TdxLayoutSkinLookAndFeel component that manages global appearance settings for layout controls, groups and items in an application.

To ensure visual consistency of your application if it uses one or more layout controls, add a TdxLayoutSkinLookAndFeel component to your project and assign the component to the LayoutLookAndFeel property of all layout controls. Assign the TdxSkinController.SkinName property value to the component’s LookAndFeel.SkinName property to apply the skin defined at the global level to all associated layout controls.

If a vector skin is active, the affected layout controls use the color palette whose name is assigned to the TdxSkinController.SkinPaletteName property.

Skin Support in Navigation Bar Views

Only the following Views of the TdxNavBar control support global skin settings:

  • Accordion
  • Hamburger
  • Skin Explorer Bar
  • Skin Navigation Pane

Global skin settings have no effect on all other Navigation Bar Views because these views rely on their own draw routines.

Code Example: Apply a Skin and its Palette

The following code example applies the WXI Compact skin and its Sharpness palette to an application:

  dxSkinController1.NativeStyle := False;
  dxSkinController1.SkinName := 'WXICompact';
  dxSkinController1.SkinPaletteName := 'Sharpness';

VCL Shared Libraries: A Skinned Application Example

A diacritic mark is a glyph added to a base letter. The majority of European languages uses diacritic marks to stress vowels and designate different sounds for the same base letter in an alphabet.

DevExpress data controllers and text field-based editors treat a base letter with different diacritic marks as different characters for all comparison operations that allow you to search, sort, and filter data. You can set the TdxDiacriticStringOptions.ComparisonMode class property to TdxDiacriticStringComparisonMode.Insensitive in the initialization section of the main application to treat all variations of the same letter in an alphabet as the same character for string comparison.

Code Example: Configure Diacritic Settings

The following code example configures global diacritic mark-related settings at application startup:

uses
  dxCore;
// ...
begin
  TdxDiacriticStringOptions.ComparisonMode := TdxDiacriticStringComparisonMode.Insensitive;
  TdxDiacriticStringOptions.NormalizationMode := TdxDiacriticStringNormalizationMode.System;
  // ...
  Application.Initialize;
  Application.MainFormOnTaskBar := True;
  Application.CreateForm(TMyForm, MyForm);
  Application.Run;
end.

Refer to the TdxDiacriticStringOptions class description for detailed information on all available options.