Home
Theme Engine Online Help Prev Page Prev Page
Symbol Reference
Classes
TTeAdapter
TTeDefaultForm
TTeDefaultForm.Active
TTeDefaultForm.Animation
TTeDefaultForm.Blending
TTeDefaultForm.BorderIcons
TTeDefaultForm.BorderStyle
TTeDefaultForm.Dragging
TTeDefaultForm.Gravitation
TTeDefaultForm.MenuBar
TTeDefaultForm.MinimizeApplication
TTeDefaultForm.Performance
TTeDefaultForm.Shadow
TTeDefaultForm.SystemMenuOptions
TTeDefaultForm.TrayMenuLink
TTeDefaultForm.TrayMenuOptions
TTeDefaultForm.WindowMenu
TTeDefaultForm.WindowState
TTeForm
TTeForm.ThemeLink
TTeForm.ThemeObject
TTeManager
TTeManager.FontChangeOptions
TTeMDIChild
TTeMessage
TTeMessage.ShowButtonGlyph
TTeMessage.ShowHints
TTeMessage.ShowIconImage
TTeMessage.InputBox
TTeMessage.InputQuery
TTeMessage.MessageDlg
TTeMessage.MessageDlgPos
TTeMessage.MessageDlgPosHelp
TTeMessage.ShowMessage
TTeMessage.ShowMessageFmt
TTeMessage.ShowMessagePos
TTeThemeEngine
TTeThemeEngine.DeltaBrightness
TTeThemeEngine.DeltaHue
TTeThemeEngine.OnThemeChanged
TTeThemeEngine.ThemeBuilding
TTeThemeEngine.ThemeFile
TTeThemeEngine.ThemeIndex
TTeThemeEngine.ThemeList
TTeThemeLink
TTeThemeLink.ThemeBuilding
TTeThemeLink.ThemeFile
TTeThemeLink.ThemeIndex
TTeThemeLink.ThemeList
TTeThemeList
TTeThemeList.Themes
TTeThemePreview
TTeThemePreview.ThemeLink
TTeThemeStream
TTeThemeStream.ThemeStore
TTeThemeSwitcher
TTeThemeSwitcher.ShowBrowse
TTeThemeSwitcher.ShowNoTheme
TTeThemeSwitcher.ShowSeparator
TTeThemeSwitcher.TextBrowse
TTeThemeSwitcher.TextNoTheme
TTeThemeSwitcher.ThemeEngine
Functions
ChangeTheme
DrawControlBackground
GetDialogFilter
IsThemeAvailable
LoadThemeFromFile
LoadThemeFromStream
ReleaseTheme
RepaintThemedControls
SaveThemeToFile
SaveThemeToStream
Introduction
Features
Version History
License
Overview
Order Information
Order
Technical Support
Contact
Newsgroups
Technical Support
Usage
Faq
Getting Started
Install
ThemeEngine's Themes
Available themes
Create new building theme
Third-Party ThemeEngine using
Using TTeTheme
Using te_uxtheme
ThemeEngine messages
ThemeEngine Help
Third-Party ThemeEngine using
Topic Description
Using TTeTheme Generally the themes is a set of properties and methods with the help of which it is possible to find out the necessary parameters (such as fonts, colors and metrics), and to paint the components of the interface.

ThemeEngine has an abstract base TTeTheme class, which contains all the necessary properties and methods for the correct use of the theme. In other words the programmer does not have to know which theme is active at the current moment, how to load, to change and at last how to paint different themes. ThemeEngine closes the details of realization of concrete themes, such as ThemeEngine themes, msstyles themes, the built-in themes. In other words it is impossible to find out directly what elements the theme consists of, in what format it is saved. The interaction process occurs via the TTeTheme base class.

The global variable CurrentTheme points to the theme active at the current moment. Before using this variable it is necessary to make sure, whether it is possible to use it calling the special IsThemeAvailable(CurrentTheme) function. If this function returns true the active theme is available.

Using te_uxtheme ThemeEngine emulates a well-described and understandable MS Theme API (uxtheme.dll) interface. If your application or components use MS Theme API for the correct display in Windows XP they can easily get ThemeEngine support, it is only necessary to add te_uxtheme in the module and then if the active theme is ThemeEngine, yours applications and the component will use it. Otherwise if the program is started in Windows XP and the visual styles are active, the uxtheme.dll library will be involved. The detailed MS Theme API documentation can be received here.
ThemeEngine messages ThemeEngine provides one message for interaction of various components and the cursor itself. Each component which uses the themes is to process this message in order to display itself correctly and to change the necessary parameters and repaint at changing of the active theme. For your component to be able to receive ThemeEngine messages you are to register its AddThemeNotification procedure which is being used. The registration is usually made in the designer. It is necessary to call the RemoveThemeNotification procedure before the destruction of the component (usually in the destructor).
Links

Copyright (c) 1997-2006. All rights reserved.