Tmschema.h
上传用户:tang1250
上传日期:2020-10-23
资源大小:86k
文件大小:45k
源码类别:

PropertySheet

开发平台:

Visual C++

  1. //-----------------------------------------------------------------
  2. //   TmSchema.h - Theme Manager schema (properties, parts, etc)
  3. //-----------------------------------------------------------------
  4. //   Note: this file is normally #include-ed twice a single .cpp 
  5. //         file.  The 2nd time, SCHEME_STRINGS should be defined.  
  6. //         This allows the enums and strings to be kept in a 
  7. //         single logical table and ensure they stay in sync with
  8. //         each other.
  9. //-----------------------------------------------------------------
  10. #if (defined(SCHEMA_STRINGS)) || (! defined(TMSCHEMA_H))
  11. //-----------------------------------------------------------------
  12. #define TMSCHEMA_H
  13. //-----------------------------------------------------------------
  14. #include "SchemaDef.h"
  15. //-----------------------------------------------------------------
  16. #define THEMEMGR_VERSION 1  // increment if order of props changes or 
  17.                             // any props are deleted (will prevent loading
  18.                             // of controlsets that use older version
  19. //-----------------------------------------------------------------
  20. BEGIN_TM_SCHEMA(ThemeMgrSchema)
  21. //-----------------------------------------------------------------
  22. //   TM_ENUM (must also be declared in PROPERTIES section)
  23. //
  24. //    these cannot be renumbered (part of uxtheme API)
  25. //-----------------------------------------------------------------
  26. BEGIN_TM_ENUM(BGTYPE)
  27.     TM_ENUM(0, BT, IMAGEFILE)
  28.     TM_ENUM(1, BT, BORDERFILL)
  29.     TM_ENUM(2, BT, NONE)
  30. END_TM_ENUM()
  31. BEGIN_TM_ENUM(IMAGELAYOUT)
  32.     TM_ENUM(0, IL, VERTICAL)
  33.     TM_ENUM(1, IL, HORIZONTAL)
  34. END_TM_ENUM()
  35. BEGIN_TM_ENUM(BORDERTYPE)
  36.     TM_ENUM(0, BT, RECT)
  37.     TM_ENUM(1, BT, ROUNDRECT)
  38.     TM_ENUM(2, BT, ELLIPSE)
  39. END_TM_ENUM()
  40. BEGIN_TM_ENUM(FILLTYPE)
  41.     TM_ENUM(0, FT, SOLID)
  42.     TM_ENUM(1, FT, VERTGRADIENT)
  43.     TM_ENUM(2, FT, HORZGRADIENT)
  44.     TM_ENUM(3, FT, RADIALGRADIENT)
  45.     TM_ENUM(4, FT, TILEIMAGE)
  46. END_TM_ENUM()
  47. BEGIN_TM_ENUM(SIZINGTYPE)
  48.     TM_ENUM(0, ST, TRUESIZE)
  49.     TM_ENUM(1, ST, STRETCH)
  50.     TM_ENUM(2, ST, TILE)
  51. END_TM_ENUM()
  52. BEGIN_TM_ENUM(HALIGN)
  53.     TM_ENUM(0, HA, LEFT)
  54.     TM_ENUM(1, HA, CENTER)
  55.     TM_ENUM(2, HA, RIGHT)
  56. END_TM_ENUM()
  57. BEGIN_TM_ENUM(CONTENTALIGNMENT)
  58.     TM_ENUM(0, CA, LEFT)
  59.     TM_ENUM(1, CA, CENTER)
  60.     TM_ENUM(2, CA, RIGHT)
  61. END_TM_ENUM()
  62. BEGIN_TM_ENUM(VALIGN)
  63.     TM_ENUM(0, VA, TOP)
  64.     TM_ENUM(1, VA, CENTER)
  65.     TM_ENUM(2, VA, BOTTOM)
  66. END_TM_ENUM()
  67. BEGIN_TM_ENUM(OFFSETTYPE)
  68.     TM_ENUM(0, OT, TOPLEFT)
  69.     TM_ENUM(1, OT, TOPRIGHT)
  70.     TM_ENUM(2, OT, TOPMIDDLE)
  71.     TM_ENUM(3, OT, BOTTOMLEFT)
  72.     TM_ENUM(4, OT, BOTTOMRIGHT)
  73.     TM_ENUM(5, OT, BOTTOMMIDDLE)
  74.     TM_ENUM(6, OT, MIDDLELEFT)
  75.     TM_ENUM(7, OT, MIDDLERIGHT)
  76.     TM_ENUM(8, OT, LEFTOFCAPTION)
  77.     TM_ENUM(9, OT, RIGHTOFCAPTION)
  78.     TM_ENUM(10, OT, LEFTOFLASTBUTTON)
  79.     TM_ENUM(11, OT, RIGHTOFLASTBUTTON)
  80.     TM_ENUM(12, OT, ABOVELASTBUTTON)
  81.     TM_ENUM(13, OT, BELOWLASTBUTTON)
  82. END_TM_ENUM()
  83. BEGIN_TM_ENUM(ICONEFFECT)
  84.     TM_ENUM(0, ICE, NONE)
  85.     TM_ENUM(1, ICE, GLOW)
  86.     TM_ENUM(2, ICE, SHADOW)
  87.     TM_ENUM(3, ICE, PULSE)
  88.     TM_ENUM(4, ICE, ALPHA)
  89. END_TM_ENUM()
  90. BEGIN_TM_ENUM(TEXTSHADOWTYPE)
  91.     TM_ENUM(0, TST, NONE)
  92.     TM_ENUM(1, TST, SINGLE)
  93.     TM_ENUM(2, TST, CONTINUOUS)
  94. END_TM_ENUM()
  95. BEGIN_TM_ENUM(GLYPHTYPE)
  96.     TM_ENUM(0, GT, NONE)
  97.     TM_ENUM(1, GT, IMAGEGLYPH)
  98.     TM_ENUM(2, GT, FONTGLYPH)
  99. END_TM_ENUM()
  100. BEGIN_TM_ENUM(IMAGESELECTTYPE)
  101.     TM_ENUM(0, IST, NONE)
  102.     TM_ENUM(1, IST, SIZE)
  103.     TM_ENUM(2, IST, DPI)
  104. END_TM_ENUM()
  105. BEGIN_TM_ENUM(TRUESIZESCALINGTYPE)
  106.     TM_ENUM(0, TSST, NONE)
  107.     TM_ENUM(1, TSST, SIZE)
  108.     TM_ENUM(2, TSST, DPI)
  109. END_TM_ENUM()
  110. BEGIN_TM_ENUM(GLYPHFONTSIZINGTYPE)
  111.     TM_ENUM(0, GFST, NONE)
  112.     TM_ENUM(1, GFST, SIZE)
  113.     TM_ENUM(2, GFST, DPI)
  114. END_TM_ENUM()
  115. //-----------------------------------------------------------------
  116. //    PROPERTIES - used by uxtheme rendering and controls
  117. //      
  118. //    these cannot be renumbered (part of uxtheme API)
  119. //-----------------------------------------------------------------
  120. BEGIN_TM_PROPS()
  121.     //---- primitive types ----
  122.     TM_PROP(201, TMT, STRING,    STRING)
  123.     TM_PROP(202, TMT, INT,       INT)
  124.     TM_PROP(203, TMT, BOOL,      BOOL)
  125.     TM_PROP(204, TMT, COLOR,     COLOR)
  126.     TM_PROP(205, TMT, MARGINS,   MARGINS)
  127.     TM_PROP(206, TMT, FILENAME,  FILENAME)
  128.     TM_PROP(207, TMT, SIZE,      SIZE)
  129.     TM_PROP(208, TMT, POSITION,  POSITION)
  130.     TM_PROP(209, TMT, RECT,      RECT)
  131.     TM_PROP(210, TMT, FONT,      FONT)
  132.     TM_PROP(211, TMT, INTLIST,   INTLIST)
  133.     //---- special misc. properties ----
  134.     TM_PROP(401, TMT, COLORSCHEMES,   STRING)
  135.     TM_PROP(402, TMT, SIZES,          STRING)
  136.     TM_PROP(403, TMT, CHARSET,        INT)
  137.     //---- [documentation] properties ----
  138. #define TMT_FIRST_RCSTRING_NAME   TMT_DISPLAYNAME
  139. #define TMT_LAST_RCSTRING_NAME    TMT_DESCRIPTION
  140.     TM_PROP(601, TMT, DISPLAYNAME,    STRING)
  141.     TM_PROP(602, TMT, TOOLTIP,        STRING)
  142.     TM_PROP(603, TMT, COMPANY,        STRING)
  143.     TM_PROP(604, TMT, AUTHOR,         STRING)
  144.     TM_PROP(605, TMT, COPYRIGHT,      STRING)
  145.     TM_PROP(606, TMT, URL,            STRING)
  146.     TM_PROP(607, TMT, VERSION,        STRING)
  147.     TM_PROP(608, TMT, DESCRIPTION,    STRING)
  148.     //---- theme metrics: fonts ----
  149. #define TMT_FIRSTFONT TMT_CAPTIONFONT
  150. #define TMT_LASTFONT  TMT_ICONTITLEFONT
  151.     TM_PROP(801, TMT, CAPTIONFONT,        FONT)
  152.     TM_PROP(802, TMT, SMALLCAPTIONFONT,   FONT)
  153.     TM_PROP(803, TMT, MENUFONT,           FONT)
  154.     TM_PROP(804, TMT, STATUSFONT,         FONT)
  155.     TM_PROP(805, TMT, MSGBOXFONT,         FONT)
  156.     TM_PROP(806, TMT, ICONTITLEFONT,      FONT)
  157.     //---- theme metrics: bools ----
  158. #define TMT_FIRSTBOOL   TMT_FLATMENUS
  159. #define TMT_LASTBOOL    TMT_FLATMENUS
  160.     TM_PROP(1001, TMT, FLATMENUS,            BOOL)
  161.     //---- theme metrics: sizes ----
  162. #define TMT_FIRSTSIZE   TMT_SIZINGBORDERWIDTH
  163. #define TMT_LASTSIZE    TMT_MENUBARHEIGHT
  164.     TM_PROP(1201, TMT, SIZINGBORDERWIDTH,    SIZE)
  165.     TM_PROP(1202, TMT, SCROLLBARWIDTH,       SIZE)
  166.     TM_PROP(1203, TMT, SCROLLBARHEIGHT,      SIZE)
  167.     TM_PROP(1204, TMT, CAPTIONBARWIDTH,      SIZE)
  168.     TM_PROP(1205, TMT, CAPTIONBARHEIGHT,     SIZE)
  169.     TM_PROP(1206, TMT, SMCAPTIONBARWIDTH,    SIZE)
  170.     TM_PROP(1207, TMT, SMCAPTIONBARHEIGHT,   SIZE)
  171.     TM_PROP(1208, TMT, MENUBARWIDTH,         SIZE)
  172.     TM_PROP(1209, TMT, MENUBARHEIGHT,        SIZE)
  173.     //---- theme metrics: ints ----
  174. #define TMT_FIRSTINT   TMT_MINCOLORDEPTH
  175. #define TMT_LASTINT    TMT_MINCOLORDEPTH
  176.     TM_PROP(1301, TMT, MINCOLORDEPTH,     INT)
  177.     //---- theme metrics: strings ----
  178. #define TMT_FIRSTSTRING   TMT_CSSNAME
  179. #define TMT_LASTSTRING    TMT_XMLNAME
  180.     TM_PROP(1401, TMT, CSSNAME,            STRING)
  181.     TM_PROP(1402, TMT, XMLNAME,            STRING)
  182.     //---- theme metrics: colors ----
  183. #define TMT_FIRSTCOLOR  TMT_SCROLLBAR
  184. #define TMT_LASTCOLOR   TMT_MENUBAR
  185.     TM_PROP(1601, TMT, SCROLLBAR,          COLOR)
  186.     TM_PROP(1602, TMT, BACKGROUND,         COLOR)
  187.     TM_PROP(1603, TMT, ACTIVECAPTION,      COLOR)
  188.     TM_PROP(1604, TMT, INACTIVECAPTION,    COLOR)
  189.     TM_PROP(1605, TMT, MENU,               COLOR)
  190.     TM_PROP(1606, TMT, WINDOW,             COLOR)
  191.     TM_PROP(1607, TMT, WINDOWFRAME,        COLOR)
  192.     TM_PROP(1608, TMT, MENUTEXT,           COLOR)
  193.     TM_PROP(1609, TMT, WINDOWTEXT,         COLOR)
  194.     TM_PROP(1610, TMT, CAPTIONTEXT,        COLOR)
  195.     TM_PROP(1611, TMT, ACTIVEBORDER,       COLOR)
  196.     TM_PROP(1612, TMT, INACTIVEBORDER,     COLOR)
  197.     TM_PROP(1613, TMT, APPWORKSPACE,       COLOR)
  198.     TM_PROP(1614, TMT, HIGHLIGHT,          COLOR)
  199.     TM_PROP(1615, TMT, HIGHLIGHTTEXT,      COLOR)
  200.     TM_PROP(1616, TMT, BTNFACE,            COLOR)
  201.     TM_PROP(1617, TMT, BTNSHADOW,          COLOR)
  202.     TM_PROP(1618, TMT, GRAYTEXT,           COLOR)
  203.     TM_PROP(1619, TMT, BTNTEXT,            COLOR)
  204.     TM_PROP(1620, TMT, INACTIVECAPTIONTEXT,     COLOR)
  205.     TM_PROP(1621, TMT, BTNHIGHLIGHT,            COLOR)
  206.     TM_PROP(1622, TMT, DKSHADOW3D,              COLOR)
  207.     TM_PROP(1623, TMT, LIGHT3D,                 COLOR)
  208.     TM_PROP(1624, TMT, INFOTEXT,                COLOR)
  209.     TM_PROP(1625, TMT, INFOBK,                  COLOR)
  210.     TM_PROP(1626, TMT, BUTTONALTERNATEFACE,     COLOR)
  211.     TM_PROP(1627, TMT, HOTTRACKING,             COLOR)
  212.     TM_PROP(1628, TMT, GRADIENTACTIVECAPTION,   COLOR)
  213.     TM_PROP(1629, TMT, GRADIENTINACTIVECAPTION, COLOR)
  214.     TM_PROP(1630, TMT, MENUHILIGHT,             COLOR)
  215.     TM_PROP(1631, TMT, MENUBAR,                 COLOR)
  216.     //---- hue substitutions ----
  217.     TM_PROP(1801, TMT, FROMHUE1,  INT)
  218.     TM_PROP(1802, TMT, FROMHUE2,  INT)
  219.     TM_PROP(1803, TMT, FROMHUE3,  INT)
  220.     TM_PROP(1804, TMT, FROMHUE4,  INT)
  221.     TM_PROP(1805, TMT, FROMHUE5,  INT)
  222.     TM_PROP(1806, TMT, TOHUE1,    INT)
  223.     TM_PROP(1807, TMT, TOHUE2,    INT)
  224.     TM_PROP(1808, TMT, TOHUE3,    INT)
  225.     TM_PROP(1809, TMT, TOHUE4,    INT)
  226.     TM_PROP(1810, TMT, TOHUE5,    INT)
  227.     //---- color substitutions ----
  228.     TM_PROP(2001, TMT, FROMCOLOR1,  COLOR)
  229.     TM_PROP(2002, TMT, FROMCOLOR2,  COLOR)
  230.     TM_PROP(2003, TMT, FROMCOLOR3,  COLOR)
  231.     TM_PROP(2004, TMT, FROMCOLOR4,  COLOR)
  232.     TM_PROP(2005, TMT, FROMCOLOR5,  COLOR)
  233.     TM_PROP(2006, TMT, TOCOLOR1,    COLOR)
  234.     TM_PROP(2007, TMT, TOCOLOR2,    COLOR)
  235.     TM_PROP(2008, TMT, TOCOLOR3,    COLOR)
  236.     TM_PROP(2009, TMT, TOCOLOR4,    COLOR)
  237.     TM_PROP(2010, TMT, TOCOLOR5,    COLOR)
  238.     //---- rendering BOOL properties ----
  239.     TM_PROP(2201, TMT, TRANSPARENT,   BOOL)       // image has transparent areas (see TransparentColor)
  240.     TM_PROP(2202, TMT, AUTOSIZE,      BOOL)       // if TRUE, nonclient caption width varies with text extent
  241.     TM_PROP(2203, TMT, BORDERONLY,    BOOL)       // only draw the border area of the image
  242.     TM_PROP(2204, TMT, COMPOSITED,    BOOL)       // control will handle the composite drawing
  243.     TM_PROP(2205, TMT, BGFILL,        BOOL)       // if TRUE, TRUESIZE images should be drawn on bg fill
  244.     TM_PROP(2206, TMT, GLYPHTRANSPARENT,  BOOL)   // glyph has transparent areas (see GlyphTransparentColor)
  245.     TM_PROP(2207, TMT, GLYPHONLY,         BOOL)   // only draw glyph (not background)
  246.     TM_PROP(2208, TMT, ALWAYSSHOWSIZINGBAR, BOOL)
  247.     TM_PROP(2209, TMT, MIRRORIMAGE,         BOOL) // default=TRUE means image gets mirrored in RTL (Mirror) windows
  248.     TM_PROP(2210, TMT, UNIFORMSIZING,       BOOL) // if TRUE, height & width must be uniformly sized 
  249.     TM_PROP(2211, TMT, INTEGRALSIZING,      BOOL) // for TRUESIZE and Border sizing; if TRUE, factor must be integer
  250.     TM_PROP(2212, TMT, SOURCEGROW,          BOOL) // if TRUE, will scale up src image when needed
  251.     TM_PROP(2213, TMT, SOURCESHRINK,        BOOL) // if TRUE, will scale down src image when needed
  252.     //---- rendering INT properties ----
  253.     TM_PROP(2401, TMT, IMAGECOUNT,        INT)    // the number of state images in an imagefile
  254.     TM_PROP(2402, TMT, ALPHALEVEL,        INT)    // (0-255) alpha value for an icon (DrawThemeIcon part)
  255.     TM_PROP(2403, TMT, BORDERSIZE,        INT)    // the size of the border line for bgtype=BorderFill
  256.     TM_PROP(2404, TMT, ROUNDCORNERWIDTH,  INT)    // (0-100) % of roundness for rounded rects
  257.     TM_PROP(2405, TMT, ROUNDCORNERHEIGHT, INT)    // (0-100) % of roundness for rounded rects
  258.     TM_PROP(2406, TMT, GRADIENTRATIO1,    INT)    // (0-255) - amt of gradient color 1 to use (all must total=255)
  259.     TM_PROP(2407, TMT, GRADIENTRATIO2,    INT)    // (0-255) - amt of gradient color 2 to use (all must total=255)
  260.     TM_PROP(2408, TMT, GRADIENTRATIO3,    INT)    // (0-255) - amt of gradient color 3 to use (all must total=255)
  261.     TM_PROP(2409, TMT, GRADIENTRATIO4,    INT)    // (0-255) - amt of gradient color 4 to use (all must total=255)
  262.     TM_PROP(2410, TMT, GRADIENTRATIO5,    INT)    // (0-255) - amt of gradient color 5 to use (all must total=255)
  263.     TM_PROP(2411, TMT, PROGRESSCHUNKSIZE, INT)    // size of progress control chunks
  264.     TM_PROP(2412, TMT, PROGRESSSPACESIZE, INT)    // size of progress control spaces
  265.     TM_PROP(2413, TMT, SATURATION,        INT)    // (0-255) amt of saturation for DrawThemeIcon() part
  266.     TM_PROP(2414, TMT, TEXTBORDERSIZE,    INT)    // size of border around text chars
  267.     TM_PROP(2415, TMT, ALPHATHRESHOLD,    INT)    // (0-255) the min. alpha value of a pixel that is solid
  268.     TM_PROP(2416, TMT, WIDTH,             SIZE)   // custom window prop: size of part (min. window)
  269.     TM_PROP(2417, TMT, HEIGHT,            SIZE)   // custom window prop: size of part (min. window)
  270.     TM_PROP(2418, TMT, GLYPHINDEX,        INT)    // for font-based glyphs, the char index into the font
  271.     TM_PROP(2419, TMT, TRUESIZESTRETCHMARK, INT)  // stretch TrueSize image when target exceeds source by this percent
  272.     TM_PROP(2420, TMT, MINDPI1,         INT)      // min DPI ImageFile1 was designed for
  273.     TM_PROP(2421, TMT, MINDPI2,         INT)      // min DPI ImageFile1 was designed for
  274.     TM_PROP(2422, TMT, MINDPI3,         INT)      // min DPI ImageFile1 was designed for
  275.     TM_PROP(2423, TMT, MINDPI4,         INT)      // min DPI ImageFile1 was designed for
  276.     TM_PROP(2424, TMT, MINDPI5,         INT)      // min DPI ImageFile1 was designed for
  277.     //---- rendering FONT properties ----
  278.     TM_PROP(2601, TMT, GLYPHFONT,         FONT)   // the font that the glyph is drawn with
  279.     //---- rendering INTLIST properties ----
  280.     // start with 2801
  281.                                                 // (from smallest to largest)
  282.     //---- rendering FILENAME properties ----
  283.     TM_PROP(3001, TMT, IMAGEFILE,         FILENAME)   // the filename of the image (or basename, for mult. images)
  284.     TM_PROP(3002, TMT, IMAGEFILE1,        FILENAME)   // multiresolution image file
  285.     TM_PROP(3003, TMT, IMAGEFILE2,        FILENAME)   // multiresolution image file
  286.     TM_PROP(3004, TMT, IMAGEFILE3,        FILENAME)   // multiresolution image file
  287.     TM_PROP(3005, TMT, IMAGEFILE4,        FILENAME)   // multiresolution image file
  288.     TM_PROP(3006, TMT, IMAGEFILE5,        FILENAME)   // multiresolution image file
  289.     TM_PROP(3007, TMT, STOCKIMAGEFILE,    FILENAME)   // These are the only images that you can call GetThemeBitmap on
  290.     TM_PROP(3008, TMT, GLYPHIMAGEFILE,    FILENAME)   // the filename for the glyph image
  291.     //---- rendering STRING properties ----
  292.     TM_PROP(3201, TMT, TEXT,              STRING)
  293.     //---- rendering POSITION (x and y values) properties ----
  294.     TM_PROP(3401, TMT, OFFSET,            POSITION)   // for window part layout
  295.     TM_PROP(3402, TMT, TEXTSHADOWOFFSET,  POSITION)   // where char shadows are drawn, relative to orig. chars
  296.     TM_PROP(3403, TMT, MINSIZE,           POSITION)   // min dest rect than ImageFile was designed for
  297.     TM_PROP(3404, TMT, MINSIZE1,          POSITION)   // min dest rect than ImageFile1 was designed for
  298.     TM_PROP(3405, TMT, MINSIZE2,          POSITION)   // min dest rect than ImageFile2 was designed for
  299.     TM_PROP(3406, TMT, MINSIZE3,          POSITION)   // min dest rect than ImageFile3 was designed for
  300.     TM_PROP(3407, TMT, MINSIZE4,          POSITION)   // min dest rect than ImageFile4 was designed for
  301.     TM_PROP(3408, TMT, MINSIZE5,          POSITION)   // min dest rect than ImageFile5 was designed for
  302.     TM_PROP(3409, TMT, NORMALSIZE,        POSITION)   // size of dest rect that exactly source
  303.     //---- rendering MARGIN properties ----
  304.     TM_PROP(3601, TMT, SIZINGMARGINS,     MARGINS)    // margins used for 9-grid sizing
  305.     TM_PROP(3602, TMT, CONTENTMARGINS,    MARGINS)    // margins that define where content can be placed
  306.     TM_PROP(3603, TMT, CAPTIONMARGINS,    MARGINS)    // margins that define where caption text can be placed
  307.     //---- rendering COLOR properties ----
  308.     TM_PROP(3801, TMT, BORDERCOLOR,      COLOR)       // color of borders for BorderFill 
  309.     TM_PROP(3802, TMT, FILLCOLOR,        COLOR)       // color of bg fill 
  310.     TM_PROP(3803, TMT, TEXTCOLOR,        COLOR)       // color text is drawn in
  311.     TM_PROP(3804, TMT, EDGELIGHTCOLOR,     COLOR)     // edge color
  312.     TM_PROP(3805, TMT, EDGEHIGHLIGHTCOLOR, COLOR)     // edge color
  313.     TM_PROP(3806, TMT, EDGESHADOWCOLOR,    COLOR)     // edge color
  314.     TM_PROP(3807, TMT, EDGEDKSHADOWCOLOR,  COLOR)     // edge color
  315.     TM_PROP(3808, TMT, EDGEFILLCOLOR,  COLOR)         // edge color
  316.     TM_PROP(3809, TMT, TRANSPARENTCOLOR, COLOR)       // color of pixels that are treated as transparent (not drawn)
  317.     TM_PROP(3810, TMT, GRADIENTCOLOR1,   COLOR)       // first color in gradient
  318.     TM_PROP(3811, TMT, GRADIENTCOLOR2,   COLOR)       // second color in gradient
  319.     TM_PROP(3812, TMT, GRADIENTCOLOR3,   COLOR)       // third color in gradient
  320.     TM_PROP(3813, TMT, GRADIENTCOLOR4,   COLOR)       // forth color in gradient
  321.     TM_PROP(3814, TMT, GRADIENTCOLOR5,   COLOR)       // fifth color in gradient
  322.     TM_PROP(3815, TMT, SHADOWCOLOR,      COLOR)       // color of text shadow
  323.     TM_PROP(3816, TMT, GLOWCOLOR,        COLOR)       // color of glow produced by DrawThemeIcon
  324.     TM_PROP(3817, TMT, TEXTBORDERCOLOR,  COLOR)       // color of text border
  325.     TM_PROP(3818, TMT, TEXTSHADOWCOLOR,  COLOR)       // color of text shadow
  326.     TM_PROP(3819, TMT, GLYPHTEXTCOLOR,        COLOR)  // color that font-based glyph is drawn with
  327.     TM_PROP(3820, TMT, GLYPHTRANSPARENTCOLOR, COLOR)  // color of transparent pixels in GlyphImageFile
  328.     TM_PROP(3821, TMT, FILLCOLORHINT, COLOR)          // hint about fill color used (for custom controls)
  329.     TM_PROP(3822, TMT, BORDERCOLORHINT, COLOR)        // hint about border color used (for custom controls)
  330.     TM_PROP(3823, TMT, ACCENTCOLORHINT, COLOR)        // hint about accent color used (for custom controls)
  331.     //---- rendering enum properties (must be declared in TM_ENUM section above) ----
  332.     TM_PROP(4001, TMT, BGTYPE,           ENUM)        // basic drawing type for each part
  333.     TM_PROP(4002, TMT, BORDERTYPE,       ENUM)        // type of border for BorderFill parts
  334.     TM_PROP(4003, TMT, FILLTYPE,         ENUM)        // fill shape for BorderFill parts
  335.     TM_PROP(4004, TMT, SIZINGTYPE,       ENUM)        // how to size ImageFile parts
  336.     TM_PROP(4005, TMT, HALIGN,           ENUM)        // horizontal alignment for TRUESIZE parts & glyphs
  337.     TM_PROP(4006, TMT, CONTENTALIGNMENT, ENUM)        // custom window prop: how text is aligned in caption
  338.     TM_PROP(4007, TMT, VALIGN,           ENUM)        // horizontal alignment for TRUESIZE parts & glyphs
  339.     TM_PROP(4008, TMT, OFFSETTYPE,       ENUM)        // how window part should be placed
  340.     TM_PROP(4009, TMT, ICONEFFECT,       ENUM)        // type of effect to use with DrawThemeIcon
  341.     TM_PROP(4010, TMT, TEXTSHADOWTYPE,   ENUM)        // type of shadow to draw with text
  342.     TM_PROP(4011, TMT, IMAGELAYOUT,      ENUM)        // how multiple images are arranged (horz. or vert.)
  343.     TM_PROP(4012, TMT, GLYPHTYPE,             ENUM)   // controls type of glyph in imagefile objects
  344.     TM_PROP(4013, TMT, IMAGESELECTTYPE,       ENUM)   // controls when to select from IMAGEFILE1...IMAGEFILE5
  345.     TM_PROP(4014, TMT, GLYPHFONTSIZINGTYPE,   ENUM)   // controls when to select a bigger/small glyph font size
  346.     TM_PROP(4015, TMT, TRUESIZESCALINGTYPE,   ENUM)   // controls how TrueSize image is scaled
  347.     
  348.     //---- custom properties (used only by controls/shell) ----
  349.     TM_PROP(5001, TMT, USERPICTURE,           BOOL)
  350.     TM_PROP(5002, TMT, DEFAULTPANESIZE,       RECT)
  351.     TM_PROP(5003, TMT, BLENDCOLOR,            COLOR)
  352. END_TM_PROPS()
  353. //---------------------------------------------------------------------------------------
  354. //   "Window" (i.e., non-client) Parts & States
  355. //
  356. //    these cannot be renumbered (part of uxtheme API)
  357. //---------------------------------------------------------------------------------------
  358. BEGIN_TM_CLASS_PARTS(WINDOW)
  359.     TM_PART(1, WP, CAPTION)
  360.     TM_PART(2, WP, SMALLCAPTION)
  361.     TM_PART(3, WP, MINCAPTION)
  362.     TM_PART(4, WP, SMALLMINCAPTION)
  363.     TM_PART(5, WP, MAXCAPTION)
  364.     TM_PART(6, WP, SMALLMAXCAPTION)
  365.     TM_PART(7, WP, FRAMELEFT)
  366.     TM_PART(8, WP, FRAMERIGHT)
  367.     TM_PART(9, WP, FRAMEBOTTOM)
  368.     TM_PART(10, WP, SMALLFRAMELEFT)
  369.     TM_PART(11, WP, SMALLFRAMERIGHT)
  370.     TM_PART(12, WP, SMALLFRAMEBOTTOM)
  371.     //---- window frame buttons ----
  372.     TM_PART(13, WP, SYSBUTTON)
  373.     TM_PART(14, WP, MDISYSBUTTON)
  374.     TM_PART(15, WP, MINBUTTON)
  375.     TM_PART(16, WP, MDIMINBUTTON)
  376.     TM_PART(17, WP, MAXBUTTON)
  377.     TM_PART(18, WP, CLOSEBUTTON)
  378.     TM_PART(19, WP, SMALLCLOSEBUTTON)
  379.     TM_PART(20, WP, MDICLOSEBUTTON)
  380.     TM_PART(21, WP, RESTOREBUTTON)
  381.     TM_PART(22, WP, MDIRESTOREBUTTON)
  382.     TM_PART(23, WP, HELPBUTTON)
  383.     TM_PART(24, WP, MDIHELPBUTTON)
  384.     //---- scrollbars 
  385.     TM_PART(25, WP, HORZSCROLL)
  386.     TM_PART(26, WP, HORZTHUMB)
  387.     TM_PART(27, WP, VERTSCROLL)
  388.     TM_PART(28, WP, VERTTHUMB)
  389.     //---- dialog ----
  390.     TM_PART(29, WP, DIALOG)
  391.     //---- hit-test templates ---
  392.     TM_PART(30, WP, CAPTIONSIZINGTEMPLATE)
  393.     TM_PART(31, WP, SMALLCAPTIONSIZINGTEMPLATE)
  394.     TM_PART(32, WP, FRAMELEFTSIZINGTEMPLATE)
  395.     TM_PART(33, WP, SMALLFRAMELEFTSIZINGTEMPLATE)
  396.     TM_PART(34, WP, FRAMERIGHTSIZINGTEMPLATE)
  397.     TM_PART(35, WP, SMALLFRAMERIGHTSIZINGTEMPLATE)
  398.     TM_PART(36, WP, FRAMEBOTTOMSIZINGTEMPLATE)
  399.     TM_PART(37, WP, SMALLFRAMEBOTTOMSIZINGTEMPLATE)
  400. END_TM_CLASS_PARTS()
  401. BEGIN_TM_PART_STATES(FRAME)
  402.     TM_STATE(1, FS, ACTIVE)
  403.     TM_STATE(2, FS, INACTIVE)
  404. END_TM_PART_STATES()
  405. BEGIN_TM_PART_STATES(CAPTION)
  406.     TM_STATE(1, CS, ACTIVE)
  407.     TM_STATE(2, CS, INACTIVE)
  408.     TM_STATE(3, CS, DISABLED)
  409. END_TM_PART_STATES()
  410.     
  411. BEGIN_TM_PART_STATES(MAXCAPTION)
  412.     TM_STATE(1, MXCS, ACTIVE)
  413.     TM_STATE(2, MXCS, INACTIVE)
  414.     TM_STATE(3, MXCS, DISABLED)
  415. END_TM_PART_STATES()
  416. BEGIN_TM_PART_STATES(MINCAPTION)
  417.     TM_STATE(1, MNCS, ACTIVE)
  418.     TM_STATE(2, MNCS, INACTIVE)
  419.     TM_STATE(3, MNCS, DISABLED)
  420. END_TM_PART_STATES()
  421. BEGIN_TM_PART_STATES(HORZSCROLL)
  422.     TM_STATE(1, HSS, NORMAL)
  423.     TM_STATE(2, HSS, HOT)
  424.     TM_STATE(3, HSS, PUSHED)
  425.     TM_STATE(4, HSS, DISABLED)
  426. END_TM_PART_STATES()
  427. BEGIN_TM_PART_STATES(HORZTHUMB)
  428.     TM_STATE(1, HTS, NORMAL)
  429.     TM_STATE(2, HTS, HOT)
  430.     TM_STATE(3, HTS, PUSHED)
  431.     TM_STATE(4, HTS, DISABLED)
  432. END_TM_PART_STATES()
  433. BEGIN_TM_PART_STATES(VERTSCROLL)
  434.     TM_STATE(1, VSS, NORMAL)
  435.     TM_STATE(2, VSS, HOT)
  436.     TM_STATE(3, VSS, PUSHED)
  437.     TM_STATE(4, VSS, DISABLED)
  438. END_TM_PART_STATES()
  439. BEGIN_TM_PART_STATES(VERTTHUMB)
  440.     TM_STATE(1, VTS, NORMAL)
  441.     TM_STATE(2, VTS, HOT)
  442.     TM_STATE(3, VTS, PUSHED)
  443.     TM_STATE(4, VTS, DISABLED)
  444. END_TM_PART_STATES()
  445. BEGIN_TM_PART_STATES(SYSBUTTON)
  446.     TM_STATE(1, SBS, NORMAL)
  447.     TM_STATE(2, SBS, HOT)
  448.     TM_STATE(3, SBS, PUSHED)
  449.     TM_STATE(4, SBS, DISABLED)
  450. END_TM_PART_STATES()
  451. BEGIN_TM_PART_STATES(MINBUTTON)
  452.     TM_STATE(1, MINBS, NORMAL)
  453.     TM_STATE(2, MINBS, HOT)
  454.     TM_STATE(3, MINBS, PUSHED)
  455.     TM_STATE(4, MINBS, DISABLED)
  456. END_TM_PART_STATES()
  457. BEGIN_TM_PART_STATES(MAXBUTTON)
  458.     TM_STATE(1, MAXBS, NORMAL)
  459.     TM_STATE(2, MAXBS, HOT)
  460.     TM_STATE(3, MAXBS, PUSHED)
  461.     TM_STATE(4, MAXBS, DISABLED)
  462. END_TM_PART_STATES()
  463. BEGIN_TM_PART_STATES(RESTOREBUTTON)
  464.     TM_STATE(1, RBS, NORMAL)
  465.     TM_STATE(2, RBS, HOT)
  466.     TM_STATE(3, RBS, PUSHED)
  467.     TM_STATE(4, RBS, DISABLED)
  468. END_TM_PART_STATES()
  469. BEGIN_TM_PART_STATES(HELPBUTTON)
  470.     TM_STATE(1, HBS, NORMAL)
  471.     TM_STATE(2, HBS, HOT)
  472.     TM_STATE(3, HBS, PUSHED)
  473.     TM_STATE(4, HBS, DISABLED)
  474. END_TM_PART_STATES()
  475. BEGIN_TM_PART_STATES(CLOSEBUTTON)
  476.     TM_STATE(1, CBS, NORMAL)
  477.     TM_STATE(2, CBS, HOT)
  478.     TM_STATE(3, CBS, PUSHED)
  479.     TM_STATE(4, CBS, DISABLED)
  480. END_TM_PART_STATES()
  481. //---------------------------------------------------------------------------------------
  482. //   "Button" Parts & States
  483. //---------------------------------------------------------------------------------------
  484. BEGIN_TM_CLASS_PARTS(BUTTON)
  485.     TM_PART(1, BP, PUSHBUTTON)
  486.     TM_PART(2, BP, RADIOBUTTON)
  487.     TM_PART(3, BP, CHECKBOX)
  488.     TM_PART(4, BP, GROUPBOX)
  489.     TM_PART(5, BP, USERBUTTON)
  490. END_TM_CLASS_PARTS()
  491. BEGIN_TM_PART_STATES(PUSHBUTTON)
  492.     TM_STATE(1, PBS, NORMAL)
  493.     TM_STATE(2, PBS, HOT)
  494.     TM_STATE(3, PBS, PRESSED)
  495.     TM_STATE(4, PBS, DISABLED)
  496.     TM_STATE(5, PBS, DEFAULTED)
  497. END_TM_PART_STATES()
  498. BEGIN_TM_PART_STATES(RADIOBUTTON)
  499.     TM_STATE(1, RBS, UNCHECKEDNORMAL)
  500.     TM_STATE(2, RBS, UNCHECKEDHOT)
  501.     TM_STATE(3, RBS, UNCHECKEDPRESSED)
  502.     TM_STATE(4, RBS, UNCHECKEDDISABLED)
  503.     TM_STATE(5, RBS, CHECKEDNORMAL)
  504.     TM_STATE(6, RBS, CHECKEDHOT)
  505.     TM_STATE(7, RBS, CHECKEDPRESSED)
  506.     TM_STATE(8, RBS, CHECKEDDISABLED)
  507. END_TM_PART_STATES()
  508. BEGIN_TM_PART_STATES(CHECKBOX)
  509.     TM_STATE(1, CBS, UNCHECKEDNORMAL)
  510.     TM_STATE(2, CBS, UNCHECKEDHOT)
  511.     TM_STATE(3, CBS, UNCHECKEDPRESSED)
  512.     TM_STATE(4, CBS, UNCHECKEDDISABLED)
  513.     TM_STATE(5, CBS, CHECKEDNORMAL)
  514.     TM_STATE(6, CBS, CHECKEDHOT)
  515.     TM_STATE(7, CBS, CHECKEDPRESSED)
  516.     TM_STATE(8, CBS, CHECKEDDISABLED)
  517.     TM_STATE(9, CBS, MIXEDNORMAL)
  518.     TM_STATE(10, CBS, MIXEDHOT)
  519.     TM_STATE(11, CBS, MIXEDPRESSED)
  520.     TM_STATE(12, CBS, MIXEDDISABLED)
  521. END_TM_PART_STATES()
  522. BEGIN_TM_PART_STATES(GROUPBOX)
  523.     TM_STATE(1, GBS, NORMAL)
  524.     TM_STATE(2, GBS, DISABLED)
  525. END_TM_PART_STATES()
  526. //---------------------------------------------------------------------------------------
  527. //   "Rebar" Parts & States
  528. //---------------------------------------------------------------------------------------
  529. BEGIN_TM_CLASS_PARTS(REBAR)
  530.     TM_PART(1, RP, GRIPPER)
  531.     TM_PART(2, RP, GRIPPERVERT)
  532.     TM_PART(3, RP, BAND)
  533.     TM_PART(4, RP, CHEVRON)
  534.     TM_PART(5, RP, CHEVRONVERT)
  535. END_TM_CLASS_PARTS()
  536. BEGIN_TM_PART_STATES(CHEVRON)
  537.     TM_STATE(1, CHEVS, NORMAL)
  538.     TM_STATE(2, CHEVS, HOT)
  539.     TM_STATE(3, CHEVS, PRESSED)
  540. END_TM_PART_STATES()
  541. //---------------------------------------------------------------------------------------
  542. //   "Toolbar" Parts & States
  543. //---------------------------------------------------------------------------------------
  544. BEGIN_TM_CLASS_PARTS(TOOLBAR)
  545.     TM_PART(1, TP, BUTTON)
  546.     TM_PART(2, TP, DROPDOWNBUTTON)
  547.     TM_PART(3, TP, SPLITBUTTON)
  548.     TM_PART(4, TP, SPLITBUTTONDROPDOWN)
  549.     TM_PART(5, TP, SEPARATOR)
  550.     TM_PART(6, TP, SEPARATORVERT)
  551. END_TM_CLASS_PARTS()
  552. BEGIN_TM_PART_STATES(TOOLBAR)
  553.     TM_STATE(1, TS, NORMAL)
  554.     TM_STATE(2, TS, HOT)
  555.     TM_STATE(3, TS, PRESSED)
  556.     TM_STATE(4, TS, DISABLED)
  557.     TM_STATE(5, TS, CHECKED)
  558.     TM_STATE(6, TS, HOTCHECKED)
  559. END_TM_PART_STATES()
  560. //---------------------------------------------------------------------------------------
  561. //   "Status" Parts & States
  562. //---------------------------------------------------------------------------------------
  563. BEGIN_TM_CLASS_PARTS(STATUS)
  564.     TM_PART(1, SP, PANE)
  565.     TM_PART(2, SP, GRIPPERPANE)
  566.     TM_PART(3, SP, GRIPPER)
  567. END_TM_CLASS_PARTS()
  568. //---------------------------------------------------------------------------------------
  569. //   "Menu" Parts & States
  570. //---------------------------------------------------------------------------------------
  571. BEGIN_TM_CLASS_PARTS(MENU)
  572.     TM_PART(1, MP, MENUITEM)
  573.     TM_PART(2, MP, MENUDROPDOWN)
  574.     TM_PART(3, MP, MENUBARITEM)
  575.     TM_PART(4, MP, MENUBARDROPDOWN)
  576.     TM_PART(5, MP, CHEVRON)
  577.     TM_PART(6, MP, SEPARATOR)
  578. END_TM_CLASS_PARTS()
  579. BEGIN_TM_PART_STATES(MENU)
  580.     TM_STATE(1, MS, NORMAL)
  581.     TM_STATE(2, MS, SELECTED)
  582.     TM_STATE(3, MS, DEMOTED)
  583. END_TM_PART_STATES()
  584. //---------------------------------------------------------------------------------------
  585. //   "ListView" Parts & States
  586. //---------------------------------------------------------------------------------------
  587. BEGIN_TM_CLASS_PARTS(LISTVIEW)
  588.     TM_PART(1, LVP, LISTITEM)
  589.     TM_PART(2, LVP, LISTGROUP)
  590.     TM_PART(3, LVP, LISTDETAIL)
  591.     TM_PART(4, LVP, LISTSORTEDDETAIL)
  592.     TM_PART(5, LVP, EMPTYTEXT)
  593. END_TM_CLASS_PARTS()
  594. BEGIN_TM_PART_STATES(LISTITEM)
  595.     TM_STATE(1, LIS, NORMAL)
  596.     TM_STATE(2, LIS, HOT)
  597.     TM_STATE(3, LIS, SELECTED)
  598.     TM_STATE(4, LIS, DISABLED)
  599.     TM_STATE(5, LIS, SELECTEDNOTFOCUS)
  600. END_TM_PART_STATES()
  601. //---------------------------------------------------------------------------------------
  602. //   "Header" Parts & States
  603. //---------------------------------------------------------------------------------------
  604. BEGIN_TM_CLASS_PARTS(HEADER)
  605.     TM_PART(1, HP, HEADERITEM)
  606.     TM_PART(2, HP, HEADERITEMLEFT)
  607.     TM_PART(3, HP, HEADERITEMRIGHT)
  608.     TM_PART(4, HP, HEADERSORTARROW)
  609. END_TM_CLASS_PARTS()
  610. BEGIN_TM_PART_STATES(HEADERITEM)
  611.     TM_STATE(1, HIS, NORMAL)
  612.     TM_STATE(2, HIS, HOT)
  613.     TM_STATE(3, HIS, PRESSED)
  614. END_TM_PART_STATES()
  615. BEGIN_TM_PART_STATES(HEADERITEMLEFT)
  616.     TM_STATE(1, HILS, NORMAL)
  617.     TM_STATE(2, HILS, HOT)
  618.     TM_STATE(3, HILS, PRESSED)
  619. END_TM_PART_STATES()
  620. BEGIN_TM_PART_STATES(HEADERITEMRIGHT)
  621.     TM_STATE(1, HIRS, NORMAL)
  622.     TM_STATE(2, HIRS, HOT)
  623.     TM_STATE(3, HIRS, PRESSED)
  624. END_TM_PART_STATES()
  625. BEGIN_TM_PART_STATES(HEADERSORTARROW)
  626.     TM_STATE(1, HSAS, SORTEDUP)
  627.     TM_STATE(2, HSAS, SORTEDDOWN)
  628. END_TM_PART_STATES()
  629. //---------------------------------------------------------------------------------------
  630. //   "Progress" Parts & States
  631. //---------------------------------------------------------------------------------------
  632. BEGIN_TM_CLASS_PARTS(PROGRESS)
  633.     TM_PART(1, PP, BAR)
  634.     TM_PART(2, PP, BARVERT)
  635.     TM_PART(3, PP, CHUNK)
  636.     TM_PART(4, PP, CHUNKVERT)
  637. END_TM_CLASS_PARTS()
  638. //---------------------------------------------------------------------------------------
  639. //   "Tab" Parts & States
  640. //---------------------------------------------------------------------------------------
  641. BEGIN_TM_CLASS_PARTS(TAB)
  642.     TM_PART(1, TABP, TABITEM)
  643.     TM_PART(2, TABP, TABITEMLEFTEDGE)
  644.     TM_PART(3, TABP, TABITEMRIGHTEDGE)
  645.     TM_PART(4, TABP, TABITEMBOTHEDGE)
  646.     TM_PART(5, TABP, TOPTABITEM)
  647.     TM_PART(6, TABP, TOPTABITEMLEFTEDGE)
  648.     TM_PART(7, TABP, TOPTABITEMRIGHTEDGE)
  649.     TM_PART(8, TABP, TOPTABITEMBOTHEDGE)
  650.     TM_PART(9, TABP, PANE)
  651.     TM_PART(10, TABP, BODY)
  652. END_TM_CLASS_PARTS()
  653. BEGIN_TM_PART_STATES(TABITEM)
  654.     TM_STATE(1, TIS, NORMAL)
  655.     TM_STATE(2, TIS, HOT)
  656.     TM_STATE(3, TIS, SELECTED)
  657.     TM_STATE(4, TIS, DISABLED)
  658.     TM_STATE(5, TIS, FOCUSED)
  659. END_TM_PART_STATES()
  660. BEGIN_TM_PART_STATES(TABITEMLEFTEDGE)
  661.     TM_STATE(1, TILES, NORMAL)
  662.     TM_STATE(2, TILES, HOT)
  663.     TM_STATE(3, TILES, SELECTED)
  664.     TM_STATE(4, TILES, DISABLED)
  665.     TM_STATE(5, TILES, FOCUSED)
  666. END_TM_PART_STATES()
  667. BEGIN_TM_PART_STATES(TABITEMRIGHTEDGE)
  668.     TM_STATE(1, TIRES, NORMAL)
  669.     TM_STATE(2, TIRES, HOT)
  670.     TM_STATE(3, TIRES, SELECTED)
  671.     TM_STATE(4, TIRES, DISABLED)
  672.     TM_STATE(5, TIRES, FOCUSED)
  673. END_TM_PART_STATES()
  674. BEGIN_TM_PART_STATES(TABITEMBOTHEDGES)
  675.     TM_STATE(1, TIBES, NORMAL)
  676.     TM_STATE(2, TIBES, HOT)
  677.     TM_STATE(3, TIBES, SELECTED)
  678.     TM_STATE(4, TIBES, DISABLED)
  679.     TM_STATE(5, TIBES, FOCUSED)
  680. END_TM_PART_STATES()
  681. BEGIN_TM_PART_STATES(TOPTABITEM)
  682.     TM_STATE(1, TTIS, NORMAL)
  683.     TM_STATE(2, TTIS, HOT)
  684.     TM_STATE(3, TTIS, SELECTED)
  685.     TM_STATE(4, TTIS, DISABLED)
  686.     TM_STATE(5, TTIS, FOCUSED)
  687. END_TM_PART_STATES()
  688. BEGIN_TM_PART_STATES(TOPTABITEMLEFTEDGE)
  689.     TM_STATE(1, TTILES, NORMAL)
  690.     TM_STATE(2, TTILES, HOT)
  691.     TM_STATE(3, TTILES, SELECTED)
  692.     TM_STATE(4, TTILES, DISABLED)
  693.     TM_STATE(5, TTILES, FOCUSED)
  694. END_TM_PART_STATES()
  695. BEGIN_TM_PART_STATES(TOPTABITEMRIGHTEDGE)
  696.     TM_STATE(1, TTIRES, NORMAL)
  697.     TM_STATE(2, TTIRES, HOT)
  698.     TM_STATE(3, TTIRES, SELECTED)
  699.     TM_STATE(4, TTIRES, DISABLED)
  700.     TM_STATE(5, TTIRES, FOCUSED)
  701. END_TM_PART_STATES()
  702. BEGIN_TM_PART_STATES(TOPTABITEMBOTHEDGES)
  703.     TM_STATE(1, TTIBES, NORMAL)
  704.     TM_STATE(2, TTIBES, HOT)
  705.     TM_STATE(3, TTIBES, SELECTED)
  706.     TM_STATE(4, TTIBES, DISABLED)
  707.     TM_STATE(5, TTIBES, FOCUSED)
  708. END_TM_PART_STATES()
  709. //---------------------------------------------------------------------------------------
  710. //   "Trackbar" Parts & States
  711. //---------------------------------------------------------------------------------------
  712. BEGIN_TM_CLASS_PARTS(TRACKBAR)
  713.     TM_PART(1, TKP, TRACK)
  714.     TM_PART(2, TKP, TRACKVERT)
  715.     TM_PART(3, TKP, THUMB)
  716.     TM_PART(4, TKP, THUMBBOTTOM)
  717.     TM_PART(5, TKP, THUMBTOP)
  718.     TM_PART(6, TKP, THUMBVERT)
  719.     TM_PART(7, TKP, THUMBLEFT)
  720.     TM_PART(8, TKP, THUMBRIGHT)
  721.     TM_PART(9, TKP, TICS)
  722.     TM_PART(10, TKP, TICSVERT)
  723. END_TM_CLASS_PARTS()
  724. BEGIN_TM_PART_STATES(TRACKBAR)
  725.     TM_STATE(1, TKS, NORMAL)
  726. END_TM_PART_STATES()
  727. BEGIN_TM_PART_STATES(TRACK)
  728.     TM_STATE(1, TRS, NORMAL)
  729. END_TM_PART_STATES()
  730. BEGIN_TM_PART_STATES(TRACKVERT)
  731.     TM_STATE(1, TRVS, NORMAL)
  732. END_TM_PART_STATES()
  733. BEGIN_TM_PART_STATES(THUMB)
  734.     TM_STATE(1, TUS, NORMAL)
  735.     TM_STATE(2, TUS, HOT)
  736.     TM_STATE(3, TUS, PRESSED)
  737.     TM_STATE(4, TUS, FOCUSED)
  738.     TM_STATE(5, TUS, DISABLED)
  739. END_TM_PART_STATES()
  740. BEGIN_TM_PART_STATES(THUMBBOTTOM)
  741.     TM_STATE(1, TUBS, NORMAL)
  742.     TM_STATE(2, TUBS, HOT)
  743.     TM_STATE(3, TUBS, PRESSED)
  744.     TM_STATE(4, TUBS, FOCUSED)
  745.     TM_STATE(5, TUBS, DISABLED)
  746. END_TM_PART_STATES()
  747. BEGIN_TM_PART_STATES(THUMBTOP)
  748.     TM_STATE(1, TUTS, NORMAL)
  749.     TM_STATE(2, TUTS, HOT)
  750.     TM_STATE(3, TUTS, PRESSED)
  751.     TM_STATE(4, TUTS, FOCUSED)
  752.     TM_STATE(5, TUTS, DISABLED)
  753. END_TM_PART_STATES()
  754. BEGIN_TM_PART_STATES(THUMBVERT)
  755.     TM_STATE(1, TUVS, NORMAL)
  756.     TM_STATE(2, TUVS, HOT)
  757.     TM_STATE(3, TUVS, PRESSED)
  758.     TM_STATE(4, TUVS, FOCUSED)
  759.     TM_STATE(5, TUVS, DISABLED)
  760. END_TM_PART_STATES()
  761. BEGIN_TM_PART_STATES(THUMBLEFT)
  762.     TM_STATE(1, TUVLS, NORMAL)
  763.     TM_STATE(2, TUVLS, HOT)
  764.     TM_STATE(3, TUVLS, PRESSED)
  765.     TM_STATE(4, TUVLS, FOCUSED)
  766.     TM_STATE(5, TUVLS, DISABLED)
  767. END_TM_PART_STATES()
  768. BEGIN_TM_PART_STATES(THUMBRIGHT)
  769.     TM_STATE(1, TUVRS, NORMAL)
  770.     TM_STATE(2, TUVRS, HOT)
  771.     TM_STATE(3, TUVRS, PRESSED)
  772.     TM_STATE(4, TUVRS, FOCUSED)
  773.     TM_STATE(5, TUVRS, DISABLED)
  774. END_TM_PART_STATES()
  775. BEGIN_TM_PART_STATES(TICS)
  776.     TM_STATE(1, TSS, NORMAL)
  777. END_TM_PART_STATES()
  778. BEGIN_TM_PART_STATES(TICSVERT)
  779.     TM_STATE(1, TSVS, NORMAL)
  780. END_TM_PART_STATES()
  781. //---------------------------------------------------------------------------------------
  782. //   "Tooltips" Parts & States
  783. //---------------------------------------------------------------------------------------
  784. BEGIN_TM_CLASS_PARTS(TOOLTIP)
  785.     TM_PART(1, TTP, STANDARD)
  786.     TM_PART(2, TTP, STANDARDTITLE)
  787.     TM_PART(3, TTP, BALLOON)
  788.     TM_PART(4, TTP, BALLOONTITLE)
  789.     TM_PART(5, TTP, CLOSE)
  790. END_TM_CLASS_PARTS()
  791. BEGIN_TM_PART_STATES(CLOSE)
  792. TM_STATE(1, TTCS, NORMAL)
  793. TM_STATE(2, TTCS, HOT)
  794. TM_STATE(3, TTCS, PRESSED)
  795. END_TM_PART_STATES()
  796. BEGIN_TM_PART_STATES(STANDARD)
  797. TM_STATE(1, TTSS, NORMAL)
  798. TM_STATE(2, TTSS, LINK)
  799. END_TM_PART_STATES()
  800. BEGIN_TM_PART_STATES(BALLOON)
  801. TM_STATE(1, TTBS, NORMAL)
  802. TM_STATE(2, TTBS, LINK)
  803. END_TM_PART_STATES()
  804. //---------------------------------------------------------------------------------------
  805. //   "TreeView" Parts & States
  806. //---------------------------------------------------------------------------------------
  807. BEGIN_TM_CLASS_PARTS(TREEVIEW)
  808.     TM_PART(1, TVP, TREEITEM)
  809.     TM_PART(2, TVP, GLYPH)
  810.     TM_PART(3, TVP, BRANCH)
  811. END_TM_CLASS_PARTS()
  812. BEGIN_TM_PART_STATES(TREEITEM)
  813.     TM_STATE(1, TREIS, NORMAL)
  814.     TM_STATE(2, TREIS, HOT)
  815.     TM_STATE(3, TREIS, SELECTED)
  816.     TM_STATE(4, TREIS, DISABLED)
  817.     TM_STATE(5, TREIS, SELECTEDNOTFOCUS)
  818. END_TM_PART_STATES()
  819. BEGIN_TM_PART_STATES(GLYPH)
  820.     TM_STATE(1, GLPS, CLOSED)
  821.     TM_STATE(2, GLPS, OPENED)
  822. END_TM_PART_STATES()
  823. //---------------------------------------------------------------------------------------
  824. //   "Spin" Parts & States
  825. //---------------------------------------------------------------------------------------
  826. BEGIN_TM_CLASS_PARTS(SPIN)
  827.     TM_PART(1, SPNP, UP)
  828.     TM_PART(2, SPNP, DOWN)
  829.     TM_PART(3, SPNP, UPHORZ)
  830.     TM_PART(4, SPNP, DOWNHORZ)
  831. END_TM_CLASS_PARTS()
  832. BEGIN_TM_PART_STATES(UP)
  833.     TM_STATE(1, UPS, NORMAL)
  834.     TM_STATE(2, UPS, HOT)
  835.     TM_STATE(3, UPS, PRESSED)
  836.     TM_STATE(4, UPS, DISABLED)
  837. END_TM_PART_STATES()
  838. BEGIN_TM_PART_STATES(DOWN)
  839.     TM_STATE(1, DNS, NORMAL)
  840.     TM_STATE(2, DNS, HOT)
  841.     TM_STATE(3, DNS, PRESSED)
  842.     TM_STATE(4, DNS, DISABLED)
  843. END_TM_PART_STATES()
  844. BEGIN_TM_PART_STATES(UPHORZ)
  845.     TM_STATE(1, UPHZS, NORMAL)
  846.     TM_STATE(2, UPHZS, HOT)
  847.     TM_STATE(3, UPHZS, PRESSED)
  848.     TM_STATE(4, UPHZS, DISABLED)
  849. END_TM_PART_STATES()
  850. BEGIN_TM_PART_STATES(DOWNHORZ)
  851.     TM_STATE(1, DNHZS, NORMAL)
  852.     TM_STATE(2, DNHZS, HOT)
  853.     TM_STATE(3, DNHZS, PRESSED)
  854.     TM_STATE(4, DNHZS, DISABLED)
  855. END_TM_PART_STATES()
  856. //---------------------------------------------------------------------------------------
  857. //   "Page" Parts & States
  858. //---------------------------------------------------------------------------------------
  859. BEGIN_TM_CLASS_PARTS(PAGE)
  860.     TM_PART(1, PGRP, UP)
  861.     TM_PART(2, PGRP, DOWN)
  862.     TM_PART(3, PGRP, UPHORZ)
  863.     TM_PART(4, PGRP, DOWNHORZ)
  864. END_TM_CLASS_PARTS()
  865. //--- Pager uses same states as Spin ---
  866. //---------------------------------------------------------------------------------------
  867. //   "Scrollbar" Parts & States
  868. //---------------------------------------------------------------------------------------
  869. BEGIN_TM_CLASS_PARTS(SCROLLBAR)
  870.     TM_PART(1, SBP, ARROWBTN)
  871.     TM_PART(2, SBP, THUMBBTNHORZ)
  872.     TM_PART(3, SBP, THUMBBTNVERT)
  873.     TM_PART(4, SBP, LOWERTRACKHORZ)
  874.     TM_PART(5, SBP, UPPERTRACKHORZ)
  875.     TM_PART(6, SBP, LOWERTRACKVERT)
  876.     TM_PART(7, SBP, UPPERTRACKVERT)
  877.     TM_PART(8, SBP, GRIPPERHORZ)
  878.     TM_PART(9, SBP, GRIPPERVERT)
  879.     TM_PART(10, SBP, SIZEBOX)
  880. END_TM_CLASS_PARTS()
  881. BEGIN_TM_PART_STATES(ARROWBTN)
  882.     TM_STATE(1, ABS, UPNORMAL)
  883.     TM_STATE(2, ABS, UPHOT)
  884.     TM_STATE(3, ABS, UPPRESSED)
  885.     TM_STATE(4, ABS, UPDISABLED)
  886.     TM_STATE(5, ABS, DOWNNORMAL)
  887.     TM_STATE(6, ABS, DOWNHOT)
  888.     TM_STATE(7, ABS, DOWNPRESSED)
  889.     TM_STATE(8, ABS, DOWNDISABLED)
  890.     TM_STATE(9, ABS, LEFTNORMAL)
  891.     TM_STATE(10, ABS, LEFTHOT)
  892.     TM_STATE(11, ABS, LEFTPRESSED)
  893.     TM_STATE(12, ABS, LEFTDISABLED)
  894.     TM_STATE(13, ABS, RIGHTNORMAL)
  895.     TM_STATE(14, ABS, RIGHTHOT)
  896.     TM_STATE(15, ABS, RIGHTPRESSED)
  897.     TM_STATE(16, ABS, RIGHTDISABLED)
  898. END_TM_PART_STATES()
  899. BEGIN_TM_PART_STATES(SCROLLBAR)
  900.     TM_STATE(1, SCRBS, NORMAL)
  901.     TM_STATE(2, SCRBS, HOT)
  902.     TM_STATE(3, SCRBS, PRESSED)
  903.     TM_STATE(4, SCRBS, DISABLED)
  904. END_TM_PART_STATES()
  905. BEGIN_TM_PART_STATES(SIZEBOX)
  906.     TM_STATE(1, SZB, RIGHTALIGN)
  907.     TM_STATE(2, SZB, LEFTALIGN)
  908. END_TM_PART_STATES()
  909. //---------------------------------------------------------------------------------------
  910. //   "Edit" Parts & States
  911. //---------------------------------------------------------------------------------------
  912. BEGIN_TM_CLASS_PARTS(EDIT)
  913.     TM_PART(1, EP, EDITTEXT)
  914.     TM_PART(2, EP, CARET)
  915. END_TM_CLASS_PARTS()
  916. BEGIN_TM_PART_STATES(EDITTEXT)
  917.     TM_STATE(1, ETS, NORMAL)
  918.     TM_STATE(2, ETS, HOT)
  919.     TM_STATE(3, ETS, SELECTED)
  920.     TM_STATE(4, ETS, DISABLED)
  921.     TM_STATE(5, ETS, FOCUSED)
  922.     TM_STATE(6, ETS, READONLY)
  923.     TM_STATE(7, ETS, ASSIST)
  924. END_TM_PART_STATES()
  925. //---------------------------------------------------------------------------------------
  926. //   "ComboBox" Parts & States
  927. //---------------------------------------------------------------------------------------
  928. BEGIN_TM_CLASS_PARTS(COMBOBOX)
  929.     TM_PART(1, CP, DROPDOWNBUTTON)
  930. END_TM_CLASS_PARTS()
  931. BEGIN_TM_PART_STATES(COMBOBOX)
  932.     TM_STATE(1, CBXS, NORMAL)
  933.     TM_STATE(2, CBXS, HOT)
  934.     TM_STATE(3, CBXS, PRESSED)
  935.     TM_STATE(4, CBXS, DISABLED)
  936. END_TM_PART_STATES()
  937. //---------------------------------------------------------------------------------------
  938. //   "Taskbar Clock" Parts & States
  939. //---------------------------------------------------------------------------------------
  940. BEGIN_TM_CLASS_PARTS(CLOCK)
  941.     TM_PART(1, CLP, TIME)
  942. END_TM_CLASS_PARTS()
  943. BEGIN_TM_PART_STATES(CLOCK)
  944.     TM_STATE(1, CLS, NORMAL)
  945. END_TM_PART_STATES()
  946. //---------------------------------------------------------------------------------------
  947. //   "Tray Notify" Parts & States
  948. //---------------------------------------------------------------------------------------
  949. BEGIN_TM_CLASS_PARTS(TRAYNOTIFY)
  950.     TM_PART(1, TNP, BACKGROUND)
  951.     TM_PART(2, TNP, ANIMBACKGROUND)
  952. END_TM_CLASS_PARTS()
  953. //---------------------------------------------------------------------------------------
  954. //   "TaskBar" Parts & States
  955. //---------------------------------------------------------------------------------------
  956. BEGIN_TM_CLASS_PARTS(TASKBAR)
  957.     TM_PART(1, TBP, BACKGROUNDBOTTOM)
  958.     TM_PART(2, TBP, BACKGROUNDRIGHT)
  959.     TM_PART(3, TBP, BACKGROUNDTOP)
  960.     TM_PART(4, TBP, BACKGROUNDLEFT)
  961.     TM_PART(5, TBP, SIZINGBARBOTTOM)
  962.     TM_PART(6, TBP, SIZINGBARRIGHT)
  963.     TM_PART(7, TBP, SIZINGBARTOP)
  964.     TM_PART(8, TBP, SIZINGBARLEFT)
  965. END_TM_CLASS_PARTS()
  966. //---------------------------------------------------------------------------------------
  967. //   "TaskBand" Parts & States
  968. //---------------------------------------------------------------------------------------
  969. BEGIN_TM_CLASS_PARTS(TASKBAND)
  970.     TM_PART(1, TDP, GROUPCOUNT)
  971.     TM_PART(2, TDP, FLASHBUTTON)
  972.     TM_PART(3, TDP, FLASHBUTTONGROUPMENU)
  973. END_TM_CLASS_PARTS()
  974. //---------------------------------------------------------------------------------------
  975. //   "StartPanel" Parts & States
  976. //---------------------------------------------------------------------------------------
  977. BEGIN_TM_CLASS_PARTS(STARTPANEL)
  978.     TM_PART(1, SPP, USERPANE)
  979.     TM_PART(2, SPP, MOREPROGRAMS)
  980.     TM_PART(3, SPP, MOREPROGRAMSARROW)
  981.     TM_PART(4, SPP, PROGLIST)
  982.     TM_PART(5, SPP, PROGLISTSEPARATOR)
  983.     TM_PART(6, SPP, PLACESLIST)
  984.     TM_PART(7, SPP, PLACESLISTSEPARATOR)
  985.     TM_PART(8, SPP, LOGOFF)
  986.     TM_PART(9, SPP, LOGOFFBUTTONS)
  987.     TM_PART(10, SPP, USERPICTURE)
  988.     TM_PART(11, SPP, PREVIEW)
  989. END_TM_CLASS_PARTS()
  990. BEGIN_TM_PART_STATES(MOREPROGRAMSARROW)
  991.     TM_STATE(1, SPS, NORMAL)
  992.     TM_STATE(2, SPS, HOT)
  993.     TM_STATE(3, SPS, PRESSED)
  994. END_TM_PART_STATES()
  995. BEGIN_TM_PART_STATES(LOGOFFBUTTONS)
  996.     TM_STATE(1, SPLS, NORMAL)
  997.     TM_STATE(2, SPLS, HOT)
  998.     TM_STATE(3, SPLS, PRESSED)
  999. END_TM_PART_STATES()
  1000. //---------------------------------------------------------------------------------------
  1001. //   "ExplorerBar" Parts & States
  1002. //---------------------------------------------------------------------------------------
  1003. BEGIN_TM_CLASS_PARTS(EXPLORERBAR)
  1004.     TM_PART(1, EBP, HEADERBACKGROUND)
  1005.     TM_PART(2, EBP, HEADERCLOSE)
  1006.     TM_PART(3, EBP, HEADERPIN)
  1007.     TM_PART(4, EBP, IEBARMENU)
  1008.     TM_PART(5, EBP, NORMALGROUPBACKGROUND)
  1009.     TM_PART(6, EBP, NORMALGROUPCOLLAPSE)
  1010.     TM_PART(7, EBP, NORMALGROUPEXPAND)
  1011.     TM_PART(8, EBP, NORMALGROUPHEAD)
  1012.     TM_PART(9, EBP, SPECIALGROUPBACKGROUND)
  1013.     TM_PART(10, EBP, SPECIALGROUPCOLLAPSE)
  1014.     TM_PART(11, EBP, SPECIALGROUPEXPAND)
  1015.     TM_PART(12, EBP, SPECIALGROUPHEAD)
  1016. END_TM_CLASS_PARTS()
  1017. BEGIN_TM_PART_STATES(HEADERCLOSE)
  1018.     TM_STATE(1, EBHC, NORMAL)
  1019.     TM_STATE(2, EBHC, HOT)
  1020.     TM_STATE(3, EBHC, PRESSED)
  1021. END_TM_PART_STATES()
  1022. BEGIN_TM_PART_STATES(HEADERPIN)
  1023.     TM_STATE(1, EBHP, NORMAL)
  1024.     TM_STATE(2, EBHP, HOT)
  1025.     TM_STATE(3, EBHP, PRESSED)
  1026.     TM_STATE(4, EBHP, SELECTEDNORMAL)
  1027.     TM_STATE(5, EBHP, SELECTEDHOT)
  1028.     TM_STATE(6, EBHP, SELECTEDPRESSED)
  1029. END_TM_PART_STATES()
  1030. BEGIN_TM_PART_STATES(IEBARMENU)
  1031.     TM_STATE(1, EBM, NORMAL)
  1032.     TM_STATE(2, EBM, HOT)
  1033.     TM_STATE(3, EBM, PRESSED)
  1034. END_TM_PART_STATES()
  1035. BEGIN_TM_PART_STATES(NORMALGROUPCOLLAPSE)
  1036.     TM_STATE(1, EBNGC, NORMAL)
  1037.     TM_STATE(2, EBNGC, HOT)
  1038.     TM_STATE(3, EBNGC, PRESSED)
  1039. END_TM_PART_STATES()
  1040. BEGIN_TM_PART_STATES(NORMALGROUPEXPAND)
  1041.     TM_STATE(1, EBNGE, NORMAL)
  1042.     TM_STATE(2, EBNGE, HOT)
  1043.     TM_STATE(3, EBNGE, PRESSED)
  1044. END_TM_PART_STATES()
  1045. BEGIN_TM_PART_STATES(SPECIALGROUPCOLLAPSE)
  1046.     TM_STATE(1, EBSGC, NORMAL)
  1047.     TM_STATE(2, EBSGC, HOT)
  1048.     TM_STATE(3, EBSGC, PRESSED)
  1049. END_TM_PART_STATES()
  1050. BEGIN_TM_PART_STATES(SPECIALGROUPEXPAND)
  1051.     TM_STATE(1, EBSGE, NORMAL)
  1052.     TM_STATE(2, EBSGE, HOT)
  1053.     TM_STATE(3, EBSGE, PRESSED)
  1054. END_TM_PART_STATES()
  1055. //---------------------------------------------------------------------------------------
  1056. //   "TaskBand" Parts & States
  1057. //---------------------------------------------------------------------------------------
  1058. BEGIN_TM_CLASS_PARTS(MENUBAND)
  1059.     TM_PART(1, MDP, NEWAPPBUTTON)
  1060.     TM_PART(2, MDP, SEPERATOR)
  1061. END_TM_CLASS_PARTS()
  1062. BEGIN_TM_PART_STATES(MENUBAND)
  1063.     TM_STATE(1, MDS, NORMAL)
  1064.     TM_STATE(2, MDS, HOT)
  1065.     TM_STATE(3, MDS, PRESSED)
  1066.     TM_STATE(4, MDS, DISABLED)
  1067.     TM_STATE(5, MDS, CHECKED)
  1068.     TM_STATE(6, MDS, HOTCHECKED)
  1069. END_TM_PART_STATES()
  1070. //---------------------------------------------------------------------------
  1071. END_TM_SCHEMA(ThemeMgrSchema)
  1072. //---------------------------------------------------------------------------
  1073. #endif      // TMSCHEMA_H
  1074. //---------------------------------------------------------------------------