⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmschema.pas

📁 Last change: 2008-02-03 This is the source code of KCeasy。
💻 PAS
📖 第 1 页 / 共 3 页
字号:
{******************************************************************************}
{                                                                              }
{ Visual Styles (Themes) API interface Unit for Object Pascal                  }
{                                                                              }
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
{ Corporation. All Rights Reserved.                                            }
{                                                                              }
{ The original file is: tmschema.h, released June 2001. The original Pascal    }
{ code is: TmSchema.pas, released July 2001. The initial developer of the      }
{ Pascal code is Marcel van Brakel (brakelm@chello.nl).                        }
{                                                                              }
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
{ Marcel van Brakel. All Rights Reserved.                                      }
{                                                                              }
{ Portions created by Mike Lischke are Copyright (C) 1999-2001                 }
{ Mike Lischke. All Rights Reserved.                                           }
{                                                                              }
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
{                                                                              }
{ You may retrieve the latest version of this file at the Project JEDI home    }
{ page, located at http://delphi-jedi.org or my personal homepage located at   }
{ http://members.chello.nl/m.vanbrakel2                                        }
{                                                                              }
{ The contents of this file are used with permission, subject to the Mozilla   }
{ Public License Version 1.1 (the "License"); you may not use this file except }
{ in compliance with the License. You may obtain a copy of the License at      }
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
{                                                                              }
{ Software distributed under the License is distributed on an "AS IS" basis,   }
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
{ the specific language governing rights and limitations under the License.    }
{                                                                              }
{ Alternatively, the contents of this file may be used under the terms of the  }
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
{ provisions of the LGPL License are applicable instead of those above.        }
{ If you wish to allow use of your version of this file only under the terms   }
{ of the LGPL License and not to allow others to use your version of this file }
{ under the MPL, indicate your decision by deleting  the provisions above and  }
{ replace  them with the notice and other provisions required by the LGPL      }
{ License.  If you do not delete the provisions above, a recipient may use     }
{ your version of this file under either the MPL or the LGPL License.          }
{                                                                              }
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
{                                                                              }
{******************************************************************************}

unit TmSchema;

{$WEAKPACKAGEUNIT}
                                         
{$HPPEMIT ''}
{$HPPEMIT '#include "tmschema.h"'}
{$HPPEMIT ''}

// TODO EXTERNALSYMs

interface

//----------------------------------------------------------------------------------------------------------------------
//   TmSchema.h - Theme Manager schema (properties, parts, etc)
//----------------------------------------------------------------------------------------------------------------------

const
  THEMEMGR_VERSION = 1;     // increment if order of props changes or
                            // any props are deleted (will prevent loading
                            // of controlsets that use older version
  {$EXTERNALSYM THEMEMGR_VERSION}

//----------------------------------------------------------------------------------------------------------------------
//   TM_ENUM (must also be declared in PROPERTIES section)
//
//    these cannot be renumbered (part of uxtheme API)
//----------------------------------------------------------------------------------------------------------------------

type
  BGTYPE = Cardinal;

const
  BT_IMAGEFILE   = 0;
  BT_BORDERFILL  = 1;
  BT_NONE        = 2;

type
  IMAGELAYOUT = Cardinal;

const
  IL_VERTICAL    = 0;
  IL_HORIZONTAL  = 1;

type
  BORDERTYPE = Cardinal;

const
  BT_RECT       = 0;
  BT_ROUNDRECT  = 1;
  BT_ELLIPSE    = 2;

type
  FILLTYPE = Cardinal;

const
  FT_SOLID           = 0;
  FT_VERTGRADIENT    = 1;
  FT_HORZGRADIENT    = 2;
  FT_RADIALGRADIENT  = 3;
  FT_TILEIMAGE       = 4;

type
  SIZINGTYPE = Cardinal;

const
  ST_TRUESIZE  = 0;
  ST_STRETCH   = 1;
  ST_TILE      = 2;

type
  HALIGN = Cardinal;

const
  HA_LEFT    = 0;
  HA_CENTER  = 1;
  HA_RIGHT   = 2;

type
  CONTENTALIGNMENT = Cardinal;

const
  CA_LEFT    = 0;
  CA_CENTER  = 1;
  CA_RIGHT   = 2;

type
  VALIGN = Cardinal;

const
  VA_TOP     = 0;
  VA_CENTER  = 1;
  VA_BOTTOM  = 2;

type
  OFFSETTYPE = Cardinal;

const
  OT_TOPLEFT            = 0;
  OT_TOPRIGHT           = 1;
  OT_TOPMIDDLE          = 2;
  OT_BOTTOMLEFT         = 3;
  OT_BOTTOMRIGHT        = 4;
  OT_BOTTOMMIDDLE       = 5;
  OT_MIDDLELEFT         = 6;
  OT_MIDDLERIGHT        = 7;
  OT_LEFTOFCAPTION      = 8;
  OT_RIGHTOFCAPTION     = 9;
  OT_LEFTOFLASTBUTTON   = 10;
  OT_RIGHTOFLASTBUTTON  = 11;
  OT_ABOVELASTBUTTON    = 12;
  OT_BELOWLASTBUTTON    = 13;

type
  ICONEFFECT = Cardinal;

const
  ICE_NONE    = 0;
  ICE_GLOW    = 1;
  ICE_SHADOW  = 2;
  ICE_PULSE   = 3;
  ICE_ALPHA   = 4;

type
  TEXTSHADOWTYPE = Cardinal;

const
  TST_NONE        = 0;
  TST_SINGLE      = 1;
  TST_CONTINUOUS  = 2;

type
  GLYPHTYPE = Cardinal;

const
  GT_NONE        = 0;
  GT_IMAGEGLYPH  = 1;
  GT_FONTGLYPH   = 2;

type
  IMAGESELECTTYPE = Cardinal;

const
  IST_NONE  = 0;
  IST_SIZE  = 1;
  IST_DPI   = 2;

type
  TRUESIZESCALINGTYPE = Cardinal;

const
  TSST_NONE  = 0;
  TSST_SIZE  = 1;
  TSST_DPI   = 2;

type
  GLYPHFONTSIZINGTYPE = Cardinal;

const
  GFST_NONE  = 0;
  GFST_SIZE  = 1;
  GFST_DPI   = 2;

//----------------------------------------------------------------------------------------------------------------------
//    PROPERTIES - used by uxtheme rendering and controls
//
//    these cannot be renumbered (part of uxtheme API)
//----------------------------------------------------------------------------------------------------------------------

const

  //---- primitive types ----

  TMT_STRING = 201;
  TMT_INT = 202;
  TMT_BOOL = 203;
  TMT_COLOR = 204;
  TMT_MARGINS = 205;
  TMT_FILENAME = 206;
  TMT_SIZE = 207;
  TMT_POSITION = 208;
  TMT_RECT = 209;
  TMT_FONT = 210;
  TMT_INTLIST = 211;

  //---- special misc. properties ----

  TMT_COLORSCHEMES = 401;
  TMT_SIZES = 402;
  TMT_CHARSET = 403;

  //---- [documentation] properties ----

  TMT_DISPLAYNAME = 601;
  TMT_TOOLTIP = 602;
  TMT_COMPANY = 603;
  TMT_AUTHOR = 604;
  TMT_COPYRIGHT = 605;
  TMT_URL = 606;
  TMT_VERSION = 607;
  TMT_DESCRIPTION = 608;

  {$ifndef BCB}
    TMT_FIRST_RCSTRING_NAME = TMT_DISPLAYNAME;
    TMT_LAST_RCSTRING_NAME  = TMT_DESCRIPTION;
  {$endif BCB}

  //---- theme metrics: fonts ----

  TMT_CAPTIONFONT = 801;
  TMT_SMALLCAPTIONFONT = 802;
  TMT_MENUFONT = 803;
  TMT_STATUSFONT = 804;
  TMT_MSGBOXFONT = 805;
  TMT_ICONTITLEFONT = 806;

  {$ifndef BCB}
    TMT_FIRSTFONT = TMT_CAPTIONFONT;
    TMT_LASTFONT  = TMT_ICONTITLEFONT;
  {$endif BCB}
  
  //---- theme metrics: bools ----

  TMT_FLATMENUS = 1001;

  {$ifndef BCB}
    TMT_FIRSTBOOL = TMT_FLATMENUS;
    TMT_LASTBOOL  = TMT_FLATMENUS;
  {$endif BCB}
  
  //---- theme metrics: sizes ----

  TMT_SIZINGBORDERWIDTH = 1201;
  TMT_SCROLLBARWIDTH = 1202;
  TMT_SCROLLBARHEIGHT = 1203;
  TMT_CAPTIONBARWIDTH = 1204;
  TMT_CAPTIONBARHEIGHT = 1205;
  TMT_SMCAPTIONBARWIDTH = 1206;
  TMT_SMCAPTIONBARHEIGHT = 1207;
  TMT_MENUBARWIDTH = 1208;
  TMT_MENUBARHEIGHT = 1209;

  {$ifndef BCB}
    TMT_FIRSTSIZE  = TMT_SIZINGBORDERWIDTH;
    TMT_LASTSIZE  = TMT_MENUBARHEIGHT;
  {$endif BCB}
  
  //---- theme metrics: ints ----

  TMT_MINCOLORDEPTH = 1301;

  {$ifndef BCB}
    TMT_FIRSTINT = TMT_MINCOLORDEPTH;
    TMT_LASTINT  = TMT_MINCOLORDEPTH;
  {$endif BCB}
  
  //---- theme metrics: strings ----

  TMT_CSSNAME = 1401;
  TMT_XMLNAME = 1402;

  {$ifndef BCB}
    TMT_FIRSTSTRING  = TMT_CSSNAME;
    TMT_LASTSTRING   = TMT_XMLNAME;
  {$endif BCB}

  //---- theme metrics: colors ----

  TMT_SCROLLBAR = 1601;
  TMT_BACKGROUND = 1602;
  TMT_ACTIVECAPTION = 1603;
  TMT_INACTIVECAPTION = 1604;
  TMT_MENU = 1605;
  TMT_WINDOW = 1606;
  TMT_WINDOWFRAME = 1607;
  TMT_MENUTEXT = 1608;
  TMT_WINDOWTEXT = 1609;
  TMT_CAPTIONTEXT = 1610;
  TMT_ACTIVEBORDER = 1611;
  TMT_INACTIVEBORDER = 1612;
  TMT_APPWORKSPACE = 1613;
  TMT_HIGHLIGHT = 1614;
  TMT_HIGHLIGHTTEXT = 1615;
  TMT_BTNFACE = 1616;
  TMT_BTNSHADOW = 1617;
  TMT_GRAYTEXT = 1618;
  TMT_BTNTEXT = 1619;
  TMT_INACTIVECAPTIONTEXT = 1620;
  TMT_BTNHIGHLIGHT = 1621;
  TMT_DKSHADOW3D = 1622;
  TMT_LIGHT3D = 1623;
  TMT_INFOTEXT = 1624;
  TMT_INFOBK = 1625;
  TMT_BUTTONALTERNATEFACE = 1626;
  TMT_HOTTRACKING = 1627;
  TMT_GRADIENTACTIVECAPTION = 1628;
  TMT_GRADIENTINACTIVECAPTION = 1629;
  TMT_MENUHILIGHT = 1630;
  TMT_MENUBAR = 1631;

  {$ifndef BCB}
    TMT_FIRSTCOLOR = TMT_SCROLLBAR;
    TMT_LASTCOLOR  = TMT_MENUBAR;
  {$endif BCB}

  //---- hue substitutions ----

  TMT_FROMHUE1 = 1801;
  TMT_FROMHUE2 = 1802;
  TMT_FROMHUE3 = 1803;
  TMT_FROMHUE4 = 1804;
  TMT_FROMHUE5 = 1805;
  TMT_TOHUE1 = 1806;
  TMT_TOHUE2 = 1807;
  TMT_TOHUE3 = 1808;
  TMT_TOHUE4 = 1809;
  TMT_TOHUE5 = 1810;

  //---- color substitutions ----

  TMT_FROMCOLOR1 = 2001;
  TMT_FROMCOLOR2 = 2002;
  TMT_FROMCOLOR3 = 2003;
  TMT_FROMCOLOR4 = 2004;
  TMT_FROMCOLOR5 = 2005;
  TMT_TOCOLOR1 = 2006;
  TMT_TOCOLOR2 = 2007;
  TMT_TOCOLOR3 = 2008;
  TMT_TOCOLOR4 = 2009;
  TMT_TOCOLOR5 = 2010;

  //---- rendering BOOL properties ----

  TMT_TRANSPARENT = 2201;
  TMT_AUTOSIZE = 2202;
  TMT_BORDERONLY = 2203;
  TMT_COMPOSITED = 2204;
  TMT_BGFILL = 2205;
  TMT_GLYPHTRANSPARENT = 2206;
  TMT_GLYPHONLY = 2207;
  TMT_ALWAYSSHOWSIZINGBAR = 2208;
  TMT_MIRRORIMAGE = 2209;
  TMT_UNIFORMSIZING = 2210;
  TMT_INTEGRALSIZING = 2211;
  TMT_SOURCEGROW = 2212;
  TMT_SOURCESHRINK = 2213;

  //---- rendering INT properties ----

  TMT_IMAGECOUNT = 2401;
  TMT_ALPHALEVEL = 2402;
  TMT_BORDERSIZE = 2403;
  TMT_ROUNDCORNERWIDTH = 2404;
  TMT_ROUNDCORNERHEIGHT = 2405;
  TMT_GRADIENTRATIO1 = 2406;
  TMT_GRADIENTRATIO2 = 2407;
  TMT_GRADIENTRATIO3 = 2408;
  TMT_GRADIENTRATIO4 = 2409;
  TMT_GRADIENTRATIO5 = 2410;
  TMT_PROGRESSCHUNKSIZE = 2411;
  TMT_PROGRESSSPACESIZE = 2412;
  TMT_SATURATION = 2413;
  TMT_TEXTBORDERSIZE = 2414;
  TMT_ALPHATHRESHOLD = 2415;
  TMT_WIDTH = 2416;
  TMT_HEIGHT = 2417;
  TMT_GLYPHINDEX = 2418;
  TMT_TRUESIZESTRETCHMARK = 2419;
  TMT_MINDPI1 = 2420;
  TMT_MINDPI2 = 2421;
  TMT_MINDPI3 = 2422;
  TMT_MINDPI4 = 2423;
  TMT_MINDPI5 = 2424;

  //---- rendering FONT properties ----

  TMT_GLYPHFONT = 2601;

  //---- rendering INTLIST properties ----
  // start with 2801
                                              // (from smallest to largest)
  //---- rendering FILENAME properties ----

  TMT_IMAGEFILE = 3001;
  TMT_IMAGEFILE1 = 3002;
  TMT_IMAGEFILE2 = 3003;
  TMT_IMAGEFILE3 = 3004;
  TMT_IMAGEFILE4 = 3005;
  TMT_IMAGEFILE5 = 3006;
  TMT_STOCKIMAGEFILE = 3007;
  TMT_GLYPHIMAGEFILE = 3008;

  //---- rendering STRING properties ----

  TMT_TEXT = 3201;

  //---- rendering POSITION (x and y values) properties ----

  TMT_OFFSET = 3401;
  TMT_TEXTSHADOWOFFSET = 3402;
  TMT_MINSIZE = 3403;
  TMT_MINSIZE1 = 3404;
  TMT_MINSIZE2 = 3405;
  TMT_MINSIZE3 = 3406;
  TMT_MINSIZE4 = 3407;
  TMT_MINSIZE5 = 3408;
  TMT_NORMALSIZE = 3409;

  //---- rendering MARGIN properties ----

  TMT_SIZINGMARGINS = 3601;
  TMT_CONTENTMARGINS = 3602;
  TMT_CAPTIONMARGINS = 3603;

  //---- rendering COLOR properties ----

  TMT_BORDERCOLOR = 3801;
  TMT_FILLCOLOR = 3802;
  TMT_TEXTCOLOR = 3803;
  TMT_EDGELIGHTCOLOR = 3804;
  TMT_EDGEHIGHLIGHTCOLOR = 3805;
  TMT_EDGESHADOWCOLOR = 3806;
  TMT_EDGEDKSHADOWCOLOR = 3807;
  TMT_EDGEFILLCOLOR = 3808;
  TMT_TRANSPARENTCOLOR = 3809;
  TMT_GRADIENTCOLOR1 = 3810;
  TMT_GRADIENTCOLOR2 = 3811;
  TMT_GRADIENTCOLOR3 = 3812;
  TMT_GRADIENTCOLOR4 = 3813;
  TMT_GRADIENTCOLOR5 = 3814;
  TMT_SHADOWCOLOR = 3815;
  TMT_GLOWCOLOR = 3816;
  TMT_TEXTBORDERCOLOR = 3817;
  TMT_TEXTSHADOWCOLOR = 3818;
  TMT_GLYPHTEXTCOLOR = 3819;
  TMT_GLYPHTRANSPARENTCOLOR = 3820;
  TMT_FILLCOLORHINT = 3821;
  TMT_BORDERCOLORHINT = 3822;
  TMT_ACCENTCOLORHINT = 3823;

  //---- rendering enum properties (must be declared in TM_ENUM section above) ----

  TMT_BGTYPE = 4001;
  TMT_BORDERTYPE = 4002;
  TMT_FILLTYPE = 4003;
  TMT_SIZINGTYPE = 4004;
  TMT_HALIGN = 4005;
  TMT_CONTENTALIGNMENT = 4006;
  TMT_VALIGN = 4007;
  TMT_OFFSETTYPE = 4008;
  TMT_ICONEFFECT = 4009;
  TMT_TEXTSHADOWTYPE = 4010;
  TMT_IMAGELAYOUT = 4011;
  TMT_GLYPHTYPE = 4012;
  TMT_IMAGESELECTTYPE = 4013;
  TMT_GLYPHFONTSIZINGTYPE = 4014;
  TMT_TRUESIZESCALINGTYPE = 4015;

  //---- custom properties (used only by controls/shell) ----

  TMT_USERPICTURE = 5001;
  TMT_DEFAULTPANESIZE = 5002;
  TMT_BLENDCOLOR = 5003;

//----------------------------------------------------------------------------------------------------------------------
//   "Window" (i.e., non-client) Parts & States
//
//    these cannot be renumbered (part of uxtheme API)
//----------------------------------------------------------------------------------------------------------------------

type
  WINDOWPARTS = Cardinal;

const
  WINDOWPartFiller0                  = 0;
  WP_CAPTION                         = 1;
  WP_SMALLCAPTION                    = 2;
  WP_MINCAPTION                      = 3;
  WP_SMALLMINCAPTION                 = 4;
  WP_MAXCAPTION                      = 5;
  WP_SMALLMAXCAPTION                 = 6;
  WP_FRAMELEFT                       = 7;
  WP_FRAMERIGHT                      = 8;
  WP_FRAMEBOTTOM                     = 9;
  WP_SMALLFRAMELEFT                  = 10;
  WP_SMALLFRAMERIGHT                 = 11;
  WP_SMALLFRAMEBOTTOM                = 12;
  WP_SYSBUTTON                       = 13;
  WP_MDISYSBUTTON                    = 14;
  WP_MINBUTTON                       = 15;
  WP_MDIMINBUTTON                    = 16;
  WP_MAXBUTTON                       = 17;
  WP_CLOSEBUTTON                     = 18;
  WP_SMALLCLOSEBUTTON                = 19;
  WP_MDICLOSEBUTTON                  = 20;
  WP_RESTOREBUTTON                   = 21;
  WP_MDIRESTOREBUTTON                = 22;
  WP_HELPBUTTON                      = 23;
  WP_MDIHELPBUTTON                   = 24;
  WP_HORZSCROLL                      = 25;
  WP_HORZTHUMB                       = 26;
  WP_VERTSCROLL                      = 27;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -