Updated: 15.04.2014
Rus

Themeing solutions for apps developed in Delphi and C++ Builder

AlphaSkins gallery

New: 'Notes Leather' skin15.04.2014

Snapshot
Author: Serge Goncharov
Download: DownloadNotes Leather
Size: 268.2 Kb



Update: AlphaControls v9.01 Beta released02.04.2014

  • Improved procedure of blended moving of forms
  • Solved some problems in animated hiding of forms
  • Added painting of grip area on DockSite panel
  • Added support of ShowButton property in the TsCurrencyEdit
  • Improved support of AlphaHints with Unicode
  • Improved drawing of transparent TsImage with standard Png
  • Changed extension of supported Png images
  • Added support of Alignment property in the TsHTMLLabel component
  • Removed GDI leak in the TsPageControl
  • Improved drawing of TsUpDown
  • Improved drawing of glyphs in TsListView
  • Improved repainting of non-client area when form activated/deactivated
  • Many minor improvements and bug-fixes



New: 'Emerald' skin19.02.2014

Snapshot
Author: Graf Sascha
Download: DownloadEmerald
Size: 128.6 Kb



Tutorial: Non-standard possibilities of components in the package11.11.2013

Properties common for all components
• BoundLabel

This property is available in all edit controls (TsComboBox, TsMaskEdit, TsSpinEdit and others). The property allows to add a label which will be near the edit control always and moved automatically together with this control. Options which are available in this property:

  • Active - creates a label for the control
  • Caption - text of the label
  • Font - specifies a font of the label. Change the UseSkinColor property to True if custom font color should be used.
  • Indent - space between a label and an owner control
  • Layout - specifies a position of a label
  • MaxWidth - maximum width of a text block (text is wrapped automatically if width is bigger than MaxWidth)
  • UseSkincolor specifies that color of text should be receive from current skin. Otherwise, the Font.color property will be used.

• AnimatEvents

The property is available in buttons from the package and in the TsCheckBox, TsRadioButton and TsTrackBar. Property defines events when will be used animation of component. Each button have own animation options. Animated control changing may be occured in four mouse events(mouse entering and leaving, left button down and up). If aeGlobalDef is enabled then will be used global animation options from TsSkinManager.AnimEffects.Buttons.Event property. In this case we can control behaviour of animation effects for all buttons from one point.

• DisabledKind

This property is available in buttons, edit controls and many other components. Defines looking of the disabled control. Available options:

  • dkBlended - if True then control is drawn alphablended. Blend value , used by definition, is equal to 0.4 and declared in the sDefaults.pas file
  • dkGrayed - if True then control is drawn with changed saturation. Saturation value DefDisabledGrayed>, used by definition, is equal to -90 and declared in the sDefaults.pas file

• SkinData

This property is available in most visible controls and allows to change a skin options in separate control. Available options:

  • CustomColor - ensures that a control is drawn with account of the standard Color property value
  • CustomFont - ensures that a control is drawn with account of the standard Font property definitions
  • SkinManager - specifies the TsSkinManager component which will be used for skinning of the component
  • SkinSection - contains a skin section name for this control. SkinSection allows to change a looking of the control by using of defined section from skin.

Some components (buttons, for sample) have HUEOffset and Saturation options in the SkinData property. These options allows to change color tones in separate control.

The SkinData.Invalidate procedure completely repaint skinned control (standard Invalidate procedure can work not always because sometimes a control image is in the skin cache and this cache image should be updated too).

SkinData.BeginUpdate and SkinData.EndUpdate procedures forbids and allows a control repainting accordingly.





New: 'Garnet II' skin05.11.2013

Snapshot
Author: Serge Goncharov
Download: DownloadGarnet II
Size: 105.5 Kb



Tutorial: Additional features in menus21.07.2013

  • The TsSkinManager.OnGetPopupItemData event
  • Headers for groups of menu items
  • Multiline texts in items
  • Additional vertical info bar
  • Global changing of font in menu
  • Customizable alphablending effect
  • Attachment to the system menu of forms



Tutorial: Adding skins to existing project01.04.2013

Two main ways exists for adding skins:

  1. Using of standard components, controlled by the TsSkinManager component
  2. Replacement of standard controls by analogs from the AlphaControls package

1. Using of standard components

This way is more easier in most cases and allows to see a result after few minutes of work. Therefore, we first consider it. For a sample will be used an existing demo-program from Demos directory in BDS2005. Sources of this demo may be downloaded there.

After first compiling of this project we will receive a window where form and all controls have standard looking.

All we need now is ...




Tutorial: Skins creation. General information

Only unpacked AlphaSkins may be loaded to the skin editor. For unpacking and loading of packed skin (*.asz) use the "Unpack and open" button in the ASkinEditor.exe. All skins in unpacked state contains two main files :

  • Common bitmap image which contains all skin parts as one file (named as "Master.bmp" usually). The skin parts position in bitmap's image is not important. This bitmap image will be known in this manual as "MasterBitmap".
  • The second file ("Options.dat") is the configuration file of the skin, it's view like INI-file format (may be edited by any text editor). This file contains general options in the "GLOBALDATA" section and options for each type of control in a different sections (skin sections). Most of sections has identical parameters.

  • So, for a new skin creation needed ...




    Tutorial: TsAlphaHints component

    Controls a drawing of tooltips in the application with or without skins. To get this component working, it is enough to place him to the main form of application. He has one basic style already, this style is configured and used as default. That's all! Hints will be drawn automatically now while the Active property is True.

    A variety of styles may be made by changing of component settings. For managing styles there is a special design-time editor of the Templates property.

    Unlike TsHintManager component, the TsAlphaHints manager can draw hints with any shape. TsHintManager is obsolete and remains in the package for compatibility. Component TsAlphaHints more promising and preferable to use.

    Thanks to the TsAlphaHints tips may have a text formatting using Html tags, can display images and graphs. Animated hints may be produced also. Example of use can be seen in this demo.

    The component can apply user defined styles, and can use styles defined in the current skin, if it is active. The UseSkinData property should be enabled for using of styles from skin. Each skin has the 'HINT' section, where defined a data which used for drawing.

    ShowHint and HideHint procedures may ...




    Tutorial: TsAlphaImageList and TsVirtualImageList

    This component is an analogue of standard TImageList component, but there are some significant differences:

    • Changing of Height and Width properties without loss of icons.
    • It's possible to use this component as a storage of images with different sizes.
    • Allowed formats of icons : Ico, Png and Bmp 32bpp.
    • Images are embedded in executable file in the original format (with compression).
    • Support of the NumGlyphs property of buttons.




    Tutorial: TsSkinProvider component

    This component manages skinning of each separate form where he is placed. Despite the fact that it is created automatically (if TsSkinManager.SkinningRules.srStdForms is True), it is recommended to put this component on the form in design-time. This contributes to better controlling of the form, improves an animation of forms showing and many other operations. Also, this component contains many additional settings that help to influence the best skinning of the form on ...




    Tutorial: TsSkinManager component

    Component is designed for centralized management of program skinning process. For work of this component is enough to define a skin and set the Active property to True.

    There are two ways of skins deploying with the application ...




    Tutorial: Standard and third-party components

    To allow support of a 3rd-party control within your project, the control must be declared in the SkinManager.ThirdParty property. Use a special design-time editor for a handy adding of required controls.

    List of currently supported components (increases ...




    Tutorial: Important stuff

    Here are a several simple tips, the implementation of which can significantly improve the behavior of the skinned application:

    1. Use the TsSkinProvider in all forms, where possible. It manages the drawing of form-owner. If the TsSkinProvider component is not placed on form in design-time, then it will be ...




    Tutorial: First application with AlphaSkins

    How to use AlphaSkins properly? Consider the simplest example :

    1. Create a new application

    2. Put the TsSkinManager component on the form, let's call him as sSkinManager1

    3. Add at least one skin to ...




    Tutorial: Installing questions and issues

    Below we try describe the main questions that may arise during installation of components and recommendations for addressing them.





    Tutorial: Installing the Alphacontrols package

    If you have a previous version of the package already installed, you should remove it using the following method.

    1. Open the "Component/Install packages" menu item in Delphi/C++ Builder and remove Alpha packages there
    2. Remove all AlphaControls files in the ...


    Serge Goncharov, 2004-2014 (exec time: 0.002 seconds)