Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1221 lines
45 KiB

  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. //---- custom properties (used only by controls/shell) ----
  348. TM_PROP(5001, TMT, USERPICTURE, BOOL)
  349. TM_PROP(5002, TMT, DEFAULTPANESIZE, RECT)
  350. TM_PROP(5003, TMT, BLENDCOLOR, COLOR)
  351. END_TM_PROPS()
  352. //---------------------------------------------------------------------------------------
  353. // "Window" (i.e., non-client) Parts & States
  354. //
  355. // these cannot be renumbered (part of uxtheme API)
  356. //---------------------------------------------------------------------------------------
  357. BEGIN_TM_CLASS_PARTS(WINDOW)
  358. TM_PART(1, WP, CAPTION)
  359. TM_PART(2, WP, SMALLCAPTION)
  360. TM_PART(3, WP, MINCAPTION)
  361. TM_PART(4, WP, SMALLMINCAPTION)
  362. TM_PART(5, WP, MAXCAPTION)
  363. TM_PART(6, WP, SMALLMAXCAPTION)
  364. TM_PART(7, WP, FRAMELEFT)
  365. TM_PART(8, WP, FRAMERIGHT)
  366. TM_PART(9, WP, FRAMEBOTTOM)
  367. TM_PART(10, WP, SMALLFRAMELEFT)
  368. TM_PART(11, WP, SMALLFRAMERIGHT)
  369. TM_PART(12, WP, SMALLFRAMEBOTTOM)
  370. //---- window frame buttons ----
  371. TM_PART(13, WP, SYSBUTTON)
  372. TM_PART(14, WP, MDISYSBUTTON)
  373. TM_PART(15, WP, MINBUTTON)
  374. TM_PART(16, WP, MDIMINBUTTON)
  375. TM_PART(17, WP, MAXBUTTON)
  376. TM_PART(18, WP, CLOSEBUTTON)
  377. TM_PART(19, WP, SMALLCLOSEBUTTON)
  378. TM_PART(20, WP, MDICLOSEBUTTON)
  379. TM_PART(21, WP, RESTOREBUTTON)
  380. TM_PART(22, WP, MDIRESTOREBUTTON)
  381. TM_PART(23, WP, HELPBUTTON)
  382. TM_PART(24, WP, MDIHELPBUTTON)
  383. //---- scrollbars
  384. TM_PART(25, WP, HORZSCROLL)
  385. TM_PART(26, WP, HORZTHUMB)
  386. TM_PART(27, WP, VERTSCROLL)
  387. TM_PART(28, WP, VERTTHUMB)
  388. //---- dialog ----
  389. TM_PART(29, WP, DIALOG)
  390. //---- hit-test templates ---
  391. TM_PART(30, WP, CAPTIONSIZINGTEMPLATE)
  392. TM_PART(31, WP, SMALLCAPTIONSIZINGTEMPLATE)
  393. TM_PART(32, WP, FRAMELEFTSIZINGTEMPLATE)
  394. TM_PART(33, WP, SMALLFRAMELEFTSIZINGTEMPLATE)
  395. TM_PART(34, WP, FRAMERIGHTSIZINGTEMPLATE)
  396. TM_PART(35, WP, SMALLFRAMERIGHTSIZINGTEMPLATE)
  397. TM_PART(36, WP, FRAMEBOTTOMSIZINGTEMPLATE)
  398. TM_PART(37, WP, SMALLFRAMEBOTTOMSIZINGTEMPLATE)
  399. END_TM_CLASS_PARTS()
  400. BEGIN_TM_PART_STATES(FRAME)
  401. TM_STATE(1, FS, ACTIVE)
  402. TM_STATE(2, FS, INACTIVE)
  403. END_TM_PART_STATES()
  404. BEGIN_TM_PART_STATES(CAPTION)
  405. TM_STATE(1, CS, ACTIVE)
  406. TM_STATE(2, CS, INACTIVE)
  407. TM_STATE(3, CS, DISABLED)
  408. END_TM_PART_STATES()
  409. BEGIN_TM_PART_STATES(MAXCAPTION)
  410. TM_STATE(1, MXCS, ACTIVE)
  411. TM_STATE(2, MXCS, INACTIVE)
  412. TM_STATE(3, MXCS, DISABLED)
  413. END_TM_PART_STATES()
  414. BEGIN_TM_PART_STATES(MINCAPTION)
  415. TM_STATE(1, MNCS, ACTIVE)
  416. TM_STATE(2, MNCS, INACTIVE)
  417. TM_STATE(3, MNCS, DISABLED)
  418. END_TM_PART_STATES()
  419. BEGIN_TM_PART_STATES(HORZSCROLL)
  420. TM_STATE(1, HSS, NORMAL)
  421. TM_STATE(2, HSS, HOT)
  422. TM_STATE(3, HSS, PUSHED)
  423. TM_STATE(4, HSS, DISABLED)
  424. END_TM_PART_STATES()
  425. BEGIN_TM_PART_STATES(HORZTHUMB)
  426. TM_STATE(1, HTS, NORMAL)
  427. TM_STATE(2, HTS, HOT)
  428. TM_STATE(3, HTS, PUSHED)
  429. TM_STATE(4, HTS, DISABLED)
  430. END_TM_PART_STATES()
  431. BEGIN_TM_PART_STATES(VERTSCROLL)
  432. TM_STATE(1, VSS, NORMAL)
  433. TM_STATE(2, VSS, HOT)
  434. TM_STATE(3, VSS, PUSHED)
  435. TM_STATE(4, VSS, DISABLED)
  436. END_TM_PART_STATES()
  437. BEGIN_TM_PART_STATES(VERTTHUMB)
  438. TM_STATE(1, VTS, NORMAL)
  439. TM_STATE(2, VTS, HOT)
  440. TM_STATE(3, VTS, PUSHED)
  441. TM_STATE(4, VTS, DISABLED)
  442. END_TM_PART_STATES()
  443. BEGIN_TM_PART_STATES(SYSBUTTON)
  444. TM_STATE(1, SBS, NORMAL)
  445. TM_STATE(2, SBS, HOT)
  446. TM_STATE(3, SBS, PUSHED)
  447. TM_STATE(4, SBS, DISABLED)
  448. END_TM_PART_STATES()
  449. BEGIN_TM_PART_STATES(MINBUTTON)
  450. TM_STATE(1, MINBS, NORMAL)
  451. TM_STATE(2, MINBS, HOT)
  452. TM_STATE(3, MINBS, PUSHED)
  453. TM_STATE(4, MINBS, DISABLED)
  454. END_TM_PART_STATES()
  455. BEGIN_TM_PART_STATES(MAXBUTTON)
  456. TM_STATE(1, MAXBS, NORMAL)
  457. TM_STATE(2, MAXBS, HOT)
  458. TM_STATE(3, MAXBS, PUSHED)
  459. TM_STATE(4, MAXBS, DISABLED)
  460. END_TM_PART_STATES()
  461. BEGIN_TM_PART_STATES(RESTOREBUTTON)
  462. TM_STATE(1, RBS, NORMAL)
  463. TM_STATE(2, RBS, HOT)
  464. TM_STATE(3, RBS, PUSHED)
  465. TM_STATE(4, RBS, DISABLED)
  466. END_TM_PART_STATES()
  467. BEGIN_TM_PART_STATES(HELPBUTTON)
  468. TM_STATE(1, HBS, NORMAL)
  469. TM_STATE(2, HBS, HOT)
  470. TM_STATE(3, HBS, PUSHED)
  471. TM_STATE(4, HBS, DISABLED)
  472. END_TM_PART_STATES()
  473. BEGIN_TM_PART_STATES(CLOSEBUTTON)
  474. TM_STATE(1, CBS, NORMAL)
  475. TM_STATE(2, CBS, HOT)
  476. TM_STATE(3, CBS, PUSHED)
  477. TM_STATE(4, CBS, DISABLED)
  478. END_TM_PART_STATES()
  479. //---------------------------------------------------------------------------------------
  480. // "Button" Parts & States
  481. //---------------------------------------------------------------------------------------
  482. BEGIN_TM_CLASS_PARTS(BUTTON)
  483. TM_PART(1, BP, PUSHBUTTON)
  484. TM_PART(2, BP, RADIOBUTTON)
  485. TM_PART(3, BP, CHECKBOX)
  486. TM_PART(4, BP, GROUPBOX)
  487. TM_PART(5, BP, USERBUTTON)
  488. END_TM_CLASS_PARTS()
  489. BEGIN_TM_PART_STATES(PUSHBUTTON)
  490. TM_STATE(1, PBS, NORMAL)
  491. TM_STATE(2, PBS, HOT)
  492. TM_STATE(3, PBS, PRESSED)
  493. TM_STATE(4, PBS, DISABLED)
  494. TM_STATE(5, PBS, DEFAULTED)
  495. END_TM_PART_STATES()
  496. BEGIN_TM_PART_STATES(RADIOBUTTON)
  497. TM_STATE(1, RBS, UNCHECKEDNORMAL)
  498. TM_STATE(2, RBS, UNCHECKEDHOT)
  499. TM_STATE(3, RBS, UNCHECKEDPRESSED)
  500. TM_STATE(4, RBS, UNCHECKEDDISABLED)
  501. TM_STATE(5, RBS, CHECKEDNORMAL)
  502. TM_STATE(6, RBS, CHECKEDHOT)
  503. TM_STATE(7, RBS, CHECKEDPRESSED)
  504. TM_STATE(8, RBS, CHECKEDDISABLED)
  505. END_TM_PART_STATES()
  506. BEGIN_TM_PART_STATES(CHECKBOX)
  507. TM_STATE(1, CBS, UNCHECKEDNORMAL)
  508. TM_STATE(2, CBS, UNCHECKEDHOT)
  509. TM_STATE(3, CBS, UNCHECKEDPRESSED)
  510. TM_STATE(4, CBS, UNCHECKEDDISABLED)
  511. TM_STATE(5, CBS, CHECKEDNORMAL)
  512. TM_STATE(6, CBS, CHECKEDHOT)
  513. TM_STATE(7, CBS, CHECKEDPRESSED)
  514. TM_STATE(8, CBS, CHECKEDDISABLED)
  515. TM_STATE(9, CBS, MIXEDNORMAL)
  516. TM_STATE(10, CBS, MIXEDHOT)
  517. TM_STATE(11, CBS, MIXEDPRESSED)
  518. TM_STATE(12, CBS, MIXEDDISABLED)
  519. END_TM_PART_STATES()
  520. BEGIN_TM_PART_STATES(GROUPBOX)
  521. TM_STATE(1, GBS, NORMAL)
  522. TM_STATE(2, GBS, DISABLED)
  523. END_TM_PART_STATES()
  524. //---------------------------------------------------------------------------------------
  525. // "Rebar" Parts & States
  526. //---------------------------------------------------------------------------------------
  527. BEGIN_TM_CLASS_PARTS(REBAR)
  528. TM_PART(1, RP, GRIPPER)
  529. TM_PART(2, RP, GRIPPERVERT)
  530. TM_PART(3, RP, BAND)
  531. TM_PART(4, RP, CHEVRON)
  532. TM_PART(5, RP, CHEVRONVERT)
  533. END_TM_CLASS_PARTS()
  534. BEGIN_TM_PART_STATES(CHEVRON)
  535. TM_STATE(1, CHEVS, NORMAL)
  536. TM_STATE(2, CHEVS, HOT)
  537. TM_STATE(3, CHEVS, PRESSED)
  538. END_TM_PART_STATES()
  539. //---------------------------------------------------------------------------------------
  540. // "Toolbar" Parts & States
  541. //---------------------------------------------------------------------------------------
  542. BEGIN_TM_CLASS_PARTS(TOOLBAR)
  543. TM_PART(1, TP, BUTTON)
  544. TM_PART(2, TP, DROPDOWNBUTTON)
  545. TM_PART(3, TP, SPLITBUTTON)
  546. TM_PART(4, TP, SPLITBUTTONDROPDOWN)
  547. TM_PART(5, TP, SEPARATOR)
  548. TM_PART(6, TP, SEPARATORVERT)
  549. END_TM_CLASS_PARTS()
  550. BEGIN_TM_PART_STATES(TOOLBAR)
  551. TM_STATE(1, TS, NORMAL)
  552. TM_STATE(2, TS, HOT)
  553. TM_STATE(3, TS, PRESSED)
  554. TM_STATE(4, TS, DISABLED)
  555. TM_STATE(5, TS, CHECKED)
  556. TM_STATE(6, TS, HOTCHECKED)
  557. END_TM_PART_STATES()
  558. //---------------------------------------------------------------------------------------
  559. // "Status" Parts & States
  560. //---------------------------------------------------------------------------------------
  561. BEGIN_TM_CLASS_PARTS(STATUS)
  562. TM_PART(1, SP, PANE)
  563. TM_PART(2, SP, GRIPPERPANE)
  564. TM_PART(3, SP, GRIPPER)
  565. END_TM_CLASS_PARTS()
  566. //---------------------------------------------------------------------------------------
  567. // "Menu" Parts & States
  568. //---------------------------------------------------------------------------------------
  569. BEGIN_TM_CLASS_PARTS(MENU)
  570. TM_PART(1, MP, MENUITEM)
  571. TM_PART(2, MP, MENUDROPDOWN)
  572. TM_PART(3, MP, MENUBARITEM)
  573. TM_PART(4, MP, MENUBARDROPDOWN)
  574. TM_PART(5, MP, CHEVRON)
  575. TM_PART(6, MP, SEPARATOR)
  576. END_TM_CLASS_PARTS()
  577. BEGIN_TM_PART_STATES(MENU)
  578. TM_STATE(1, MS, NORMAL)
  579. TM_STATE(2, MS, SELECTED)
  580. TM_STATE(3, MS, DEMOTED)
  581. END_TM_PART_STATES()
  582. //---------------------------------------------------------------------------------------
  583. // "ListView" Parts & States
  584. //---------------------------------------------------------------------------------------
  585. BEGIN_TM_CLASS_PARTS(LISTVIEW)
  586. TM_PART(1, LVP, LISTITEM)
  587. TM_PART(2, LVP, LISTGROUP)
  588. TM_PART(3, LVP, LISTDETAIL)
  589. TM_PART(4, LVP, LISTSORTEDDETAIL)
  590. TM_PART(5, LVP, EMPTYTEXT)
  591. END_TM_CLASS_PARTS()
  592. BEGIN_TM_PART_STATES(LISTITEM)
  593. TM_STATE(1, LIS, NORMAL)
  594. TM_STATE(2, LIS, HOT)
  595. TM_STATE(3, LIS, SELECTED)
  596. TM_STATE(4, LIS, DISABLED)
  597. TM_STATE(5, LIS, SELECTEDNOTFOCUS)
  598. END_TM_PART_STATES()
  599. //---------------------------------------------------------------------------------------
  600. // "Header" Parts & States
  601. //---------------------------------------------------------------------------------------
  602. BEGIN_TM_CLASS_PARTS(HEADER)
  603. TM_PART(1, HP, HEADERITEM)
  604. TM_PART(2, HP, HEADERITEMLEFT)
  605. TM_PART(3, HP, HEADERITEMRIGHT)
  606. TM_PART(4, HP, HEADERSORTARROW)
  607. END_TM_CLASS_PARTS()
  608. BEGIN_TM_PART_STATES(HEADERITEM)
  609. TM_STATE(1, HIS, NORMAL)
  610. TM_STATE(2, HIS, HOT)
  611. TM_STATE(3, HIS, PRESSED)
  612. END_TM_PART_STATES()
  613. BEGIN_TM_PART_STATES(HEADERITEMLEFT)
  614. TM_STATE(1, HILS, NORMAL)
  615. TM_STATE(2, HILS, HOT)
  616. TM_STATE(3, HILS, PRESSED)
  617. END_TM_PART_STATES()
  618. BEGIN_TM_PART_STATES(HEADERITEMRIGHT)
  619. TM_STATE(1, HIRS, NORMAL)
  620. TM_STATE(2, HIRS, HOT)
  621. TM_STATE(3, HIRS, PRESSED)
  622. END_TM_PART_STATES()
  623. BEGIN_TM_PART_STATES(HEADERSORTARROW)
  624. TM_STATE(1, HSAS, SORTEDUP)
  625. TM_STATE(2, HSAS, SORTEDDOWN)
  626. END_TM_PART_STATES()
  627. //---------------------------------------------------------------------------------------
  628. // "Progress" Parts & States
  629. //---------------------------------------------------------------------------------------
  630. BEGIN_TM_CLASS_PARTS(PROGRESS)
  631. TM_PART(1, PP, BAR)
  632. TM_PART(2, PP, BARVERT)
  633. TM_PART(3, PP, CHUNK)
  634. TM_PART(4, PP, CHUNKVERT)
  635. END_TM_CLASS_PARTS()
  636. //---------------------------------------------------------------------------------------
  637. // "Tab" Parts & States
  638. //---------------------------------------------------------------------------------------
  639. BEGIN_TM_CLASS_PARTS(TAB)
  640. TM_PART(1, TABP, TABITEM)
  641. TM_PART(2, TABP, TABITEMLEFTEDGE)
  642. TM_PART(3, TABP, TABITEMRIGHTEDGE)
  643. TM_PART(4, TABP, TABITEMBOTHEDGE)
  644. TM_PART(5, TABP, TOPTABITEM)
  645. TM_PART(6, TABP, TOPTABITEMLEFTEDGE)
  646. TM_PART(7, TABP, TOPTABITEMRIGHTEDGE)
  647. TM_PART(8, TABP, TOPTABITEMBOTHEDGE)
  648. TM_PART(9, TABP, PANE)
  649. TM_PART(10, TABP, BODY)
  650. END_TM_CLASS_PARTS()
  651. BEGIN_TM_PART_STATES(TABITEM)
  652. TM_STATE(1, TIS, NORMAL)
  653. TM_STATE(2, TIS, HOT)
  654. TM_STATE(3, TIS, SELECTED)
  655. TM_STATE(4, TIS, DISABLED)
  656. TM_STATE(5, TIS, FOCUSED)
  657. END_TM_PART_STATES()
  658. BEGIN_TM_PART_STATES(TABITEMLEFTEDGE)
  659. TM_STATE(1, TILES, NORMAL)
  660. TM_STATE(2, TILES, HOT)
  661. TM_STATE(3, TILES, SELECTED)
  662. TM_STATE(4, TILES, DISABLED)
  663. TM_STATE(5, TILES, FOCUSED)
  664. END_TM_PART_STATES()
  665. BEGIN_TM_PART_STATES(TABITEMRIGHTEDGE)
  666. TM_STATE(1, TIRES, NORMAL)
  667. TM_STATE(2, TIRES, HOT)
  668. TM_STATE(3, TIRES, SELECTED)
  669. TM_STATE(4, TIRES, DISABLED)
  670. TM_STATE(5, TIRES, FOCUSED)
  671. END_TM_PART_STATES()
  672. BEGIN_TM_PART_STATES(TABITEMBOTHEDGES)
  673. TM_STATE(1, TIBES, NORMAL)
  674. TM_STATE(2, TIBES, HOT)
  675. TM_STATE(3, TIBES, SELECTED)
  676. TM_STATE(4, TIBES, DISABLED)
  677. TM_STATE(5, TIBES, FOCUSED)
  678. END_TM_PART_STATES()
  679. BEGIN_TM_PART_STATES(TOPTABITEM)
  680. TM_STATE(1, TTIS, NORMAL)
  681. TM_STATE(2, TTIS, HOT)
  682. TM_STATE(3, TTIS, SELECTED)
  683. TM_STATE(4, TTIS, DISABLED)
  684. TM_STATE(5, TTIS, FOCUSED)
  685. END_TM_PART_STATES()
  686. BEGIN_TM_PART_STATES(TOPTABITEMLEFTEDGE)
  687. TM_STATE(1, TTILES, NORMAL)
  688. TM_STATE(2, TTILES, HOT)
  689. TM_STATE(3, TTILES, SELECTED)
  690. TM_STATE(4, TTILES, DISABLED)
  691. TM_STATE(5, TTILES, FOCUSED)
  692. END_TM_PART_STATES()
  693. BEGIN_TM_PART_STATES(TOPTABITEMRIGHTEDGE)
  694. TM_STATE(1, TTIRES, NORMAL)
  695. TM_STATE(2, TTIRES, HOT)
  696. TM_STATE(3, TTIRES, SELECTED)
  697. TM_STATE(4, TTIRES, DISABLED)
  698. TM_STATE(5, TTIRES, FOCUSED)
  699. END_TM_PART_STATES()
  700. BEGIN_TM_PART_STATES(TOPTABITEMBOTHEDGES)
  701. TM_STATE(1, TTIBES, NORMAL)
  702. TM_STATE(2, TTIBES, HOT)
  703. TM_STATE(3, TTIBES, SELECTED)
  704. TM_STATE(4, TTIBES, DISABLED)
  705. TM_STATE(5, TTIBES, FOCUSED)
  706. END_TM_PART_STATES()
  707. //---------------------------------------------------------------------------------------
  708. // "Trackbar" Parts & States
  709. //---------------------------------------------------------------------------------------
  710. BEGIN_TM_CLASS_PARTS(TRACKBAR)
  711. TM_PART(1, TKP, TRACK)
  712. TM_PART(2, TKP, TRACKVERT)
  713. TM_PART(3, TKP, THUMB)
  714. TM_PART(4, TKP, THUMBBOTTOM)
  715. TM_PART(5, TKP, THUMBTOP)
  716. TM_PART(6, TKP, THUMBVERT)
  717. TM_PART(7, TKP, THUMBLEFT)
  718. TM_PART(8, TKP, THUMBRIGHT)
  719. TM_PART(9, TKP, TICS)
  720. TM_PART(10, TKP, TICSVERT)
  721. END_TM_CLASS_PARTS()
  722. BEGIN_TM_PART_STATES(TRACKBAR)
  723. TM_STATE(1, TKS, NORMAL)
  724. END_TM_PART_STATES()
  725. BEGIN_TM_PART_STATES(TRACK)
  726. TM_STATE(1, TRS, NORMAL)
  727. END_TM_PART_STATES()
  728. BEGIN_TM_PART_STATES(TRACKVERT)
  729. TM_STATE(1, TRVS, NORMAL)
  730. END_TM_PART_STATES()
  731. BEGIN_TM_PART_STATES(THUMB)
  732. TM_STATE(1, TUS, NORMAL)
  733. TM_STATE(2, TUS, HOT)
  734. TM_STATE(3, TUS, PRESSED)
  735. TM_STATE(4, TUS, FOCUSED)
  736. TM_STATE(5, TUS, DISABLED)
  737. END_TM_PART_STATES()
  738. BEGIN_TM_PART_STATES(THUMBBOTTOM)
  739. TM_STATE(1, TUBS, NORMAL)
  740. TM_STATE(2, TUBS, HOT)
  741. TM_STATE(3, TUBS, PRESSED)
  742. TM_STATE(4, TUBS, FOCUSED)
  743. TM_STATE(5, TUBS, DISABLED)
  744. END_TM_PART_STATES()
  745. BEGIN_TM_PART_STATES(THUMBTOP)
  746. TM_STATE(1, TUTS, NORMAL)
  747. TM_STATE(2, TUTS, HOT)
  748. TM_STATE(3, TUTS, PRESSED)
  749. TM_STATE(4, TUTS, FOCUSED)
  750. TM_STATE(5, TUTS, DISABLED)
  751. END_TM_PART_STATES()
  752. BEGIN_TM_PART_STATES(THUMBVERT)
  753. TM_STATE(1, TUVS, NORMAL)
  754. TM_STATE(2, TUVS, HOT)
  755. TM_STATE(3, TUVS, PRESSED)
  756. TM_STATE(4, TUVS, FOCUSED)
  757. TM_STATE(5, TUVS, DISABLED)
  758. END_TM_PART_STATES()
  759. BEGIN_TM_PART_STATES(THUMBLEFT)
  760. TM_STATE(1, TUVLS, NORMAL)
  761. TM_STATE(2, TUVLS, HOT)
  762. TM_STATE(3, TUVLS, PRESSED)
  763. TM_STATE(4, TUVLS, FOCUSED)
  764. TM_STATE(5, TUVLS, DISABLED)
  765. END_TM_PART_STATES()
  766. BEGIN_TM_PART_STATES(THUMBRIGHT)
  767. TM_STATE(1, TUVRS, NORMAL)
  768. TM_STATE(2, TUVRS, HOT)
  769. TM_STATE(3, TUVRS, PRESSED)
  770. TM_STATE(4, TUVRS, FOCUSED)
  771. TM_STATE(5, TUVRS, DISABLED)
  772. END_TM_PART_STATES()
  773. BEGIN_TM_PART_STATES(TICS)
  774. TM_STATE(1, TSS, NORMAL)
  775. END_TM_PART_STATES()
  776. BEGIN_TM_PART_STATES(TICSVERT)
  777. TM_STATE(1, TSVS, NORMAL)
  778. END_TM_PART_STATES()
  779. //---------------------------------------------------------------------------------------
  780. // "Tooltips" Parts & States
  781. //---------------------------------------------------------------------------------------
  782. BEGIN_TM_CLASS_PARTS(TOOLTIP)
  783. TM_PART(1, TTP, STANDARD)
  784. TM_PART(2, TTP, STANDARDTITLE)
  785. TM_PART(3, TTP, BALLOON)
  786. TM_PART(4, TTP, BALLOONTITLE)
  787. TM_PART(5, TTP, CLOSE)
  788. END_TM_CLASS_PARTS()
  789. BEGIN_TM_PART_STATES(CLOSE)
  790. TM_STATE(1, TTCS, NORMAL)
  791. TM_STATE(2, TTCS, HOT)
  792. TM_STATE(3, TTCS, PRESSED)
  793. END_TM_PART_STATES()
  794. BEGIN_TM_PART_STATES(STANDARD)
  795. TM_STATE(1, TTSS, NORMAL)
  796. TM_STATE(2, TTSS, LINK)
  797. END_TM_PART_STATES()
  798. BEGIN_TM_PART_STATES(BALLOON)
  799. TM_STATE(1, TTBS, NORMAL)
  800. TM_STATE(2, TTBS, LINK)
  801. END_TM_PART_STATES()
  802. //---------------------------------------------------------------------------------------
  803. // "TreeView" Parts & States
  804. //---------------------------------------------------------------------------------------
  805. BEGIN_TM_CLASS_PARTS(TREEVIEW)
  806. TM_PART(1, TVP, TREEITEM)
  807. TM_PART(2, TVP, GLYPH)
  808. TM_PART(3, TVP, BRANCH)
  809. END_TM_CLASS_PARTS()
  810. BEGIN_TM_PART_STATES(TREEITEM)
  811. TM_STATE(1, TREIS, NORMAL)
  812. TM_STATE(2, TREIS, HOT)
  813. TM_STATE(3, TREIS, SELECTED)
  814. TM_STATE(4, TREIS, DISABLED)
  815. TM_STATE(5, TREIS, SELECTEDNOTFOCUS)
  816. END_TM_PART_STATES()
  817. BEGIN_TM_PART_STATES(GLYPH)
  818. TM_STATE(1, GLPS, CLOSED)
  819. TM_STATE(2, GLPS, OPENED)
  820. END_TM_PART_STATES()
  821. //---------------------------------------------------------------------------------------
  822. // "Spin" Parts & States
  823. //---------------------------------------------------------------------------------------
  824. BEGIN_TM_CLASS_PARTS(SPIN)
  825. TM_PART(1, SPNP, UP)
  826. TM_PART(2, SPNP, DOWN)
  827. TM_PART(3, SPNP, UPHORZ)
  828. TM_PART(4, SPNP, DOWNHORZ)
  829. END_TM_CLASS_PARTS()
  830. BEGIN_TM_PART_STATES(UP)
  831. TM_STATE(1, UPS, NORMAL)
  832. TM_STATE(2, UPS, HOT)
  833. TM_STATE(3, UPS, PRESSED)
  834. TM_STATE(4, UPS, DISABLED)
  835. END_TM_PART_STATES()
  836. BEGIN_TM_PART_STATES(DOWN)
  837. TM_STATE(1, DNS, NORMAL)
  838. TM_STATE(2, DNS, HOT)
  839. TM_STATE(3, DNS, PRESSED)
  840. TM_STATE(4, DNS, DISABLED)
  841. END_TM_PART_STATES()
  842. BEGIN_TM_PART_STATES(UPHORZ)
  843. TM_STATE(1, UPHZS, NORMAL)
  844. TM_STATE(2, UPHZS, HOT)
  845. TM_STATE(3, UPHZS, PRESSED)
  846. TM_STATE(4, UPHZS, DISABLED)
  847. END_TM_PART_STATES()
  848. BEGIN_TM_PART_STATES(DOWNHORZ)
  849. TM_STATE(1, DNHZS, NORMAL)
  850. TM_STATE(2, DNHZS, HOT)
  851. TM_STATE(3, DNHZS, PRESSED)
  852. TM_STATE(4, DNHZS, DISABLED)
  853. END_TM_PART_STATES()
  854. //---------------------------------------------------------------------------------------
  855. // "Page" Parts & States
  856. //---------------------------------------------------------------------------------------
  857. BEGIN_TM_CLASS_PARTS(PAGE)
  858. TM_PART(1, PGRP, UP)
  859. TM_PART(2, PGRP, DOWN)
  860. TM_PART(3, PGRP, UPHORZ)
  861. TM_PART(4, PGRP, DOWNHORZ)
  862. END_TM_CLASS_PARTS()
  863. //--- Pager uses same states as Spin ---
  864. //---------------------------------------------------------------------------------------
  865. // "Scrollbar" Parts & States
  866. //---------------------------------------------------------------------------------------
  867. BEGIN_TM_CLASS_PARTS(SCROLLBAR)
  868. TM_PART(1, SBP, ARROWBTN)
  869. TM_PART(2, SBP, THUMBBTNHORZ)
  870. TM_PART(3, SBP, THUMBBTNVERT)
  871. TM_PART(4, SBP, LOWERTRACKHORZ)
  872. TM_PART(5, SBP, UPPERTRACKHORZ)
  873. TM_PART(6, SBP, LOWERTRACKVERT)
  874. TM_PART(7, SBP, UPPERTRACKVERT)
  875. TM_PART(8, SBP, GRIPPERHORZ)
  876. TM_PART(9, SBP, GRIPPERVERT)
  877. TM_PART(10, SBP, SIZEBOX)
  878. END_TM_CLASS_PARTS()
  879. BEGIN_TM_PART_STATES(ARROWBTN)
  880. TM_STATE(1, ABS, UPNORMAL)
  881. TM_STATE(2, ABS, UPHOT)
  882. TM_STATE(3, ABS, UPPRESSED)
  883. TM_STATE(4, ABS, UPDISABLED)
  884. TM_STATE(5, ABS, DOWNNORMAL)
  885. TM_STATE(6, ABS, DOWNHOT)
  886. TM_STATE(7, ABS, DOWNPRESSED)
  887. TM_STATE(8, ABS, DOWNDISABLED)
  888. TM_STATE(9, ABS, LEFTNORMAL)
  889. TM_STATE(10, ABS, LEFTHOT)
  890. TM_STATE(11, ABS, LEFTPRESSED)
  891. TM_STATE(12, ABS, LEFTDISABLED)
  892. TM_STATE(13, ABS, RIGHTNORMAL)
  893. TM_STATE(14, ABS, RIGHTHOT)
  894. TM_STATE(15, ABS, RIGHTPRESSED)
  895. TM_STATE(16, ABS, RIGHTDISABLED)
  896. END_TM_PART_STATES()
  897. BEGIN_TM_PART_STATES(SCROLLBAR)
  898. TM_STATE(1, SCRBS, NORMAL)
  899. TM_STATE(2, SCRBS, HOT)
  900. TM_STATE(3, SCRBS, PRESSED)
  901. TM_STATE(4, SCRBS, DISABLED)
  902. END_TM_PART_STATES()
  903. BEGIN_TM_PART_STATES(SIZEBOX)
  904. TM_STATE(1, SZB, RIGHTALIGN)
  905. TM_STATE(2, SZB, LEFTALIGN)
  906. END_TM_PART_STATES()
  907. //---------------------------------------------------------------------------------------
  908. // "Edit" Parts & States
  909. //---------------------------------------------------------------------------------------
  910. BEGIN_TM_CLASS_PARTS(EDIT)
  911. TM_PART(1, EP, EDITTEXT)
  912. TM_PART(2, EP, CARET)
  913. END_TM_CLASS_PARTS()
  914. BEGIN_TM_PART_STATES(EDITTEXT)
  915. TM_STATE(1, ETS, NORMAL)
  916. TM_STATE(2, ETS, HOT)
  917. TM_STATE(3, ETS, SELECTED)
  918. TM_STATE(4, ETS, DISABLED)
  919. TM_STATE(5, ETS, FOCUSED)
  920. TM_STATE(6, ETS, READONLY)
  921. TM_STATE(7, ETS, ASSIST)
  922. END_TM_PART_STATES()
  923. //---------------------------------------------------------------------------------------
  924. // "ComboBox" Parts & States
  925. //---------------------------------------------------------------------------------------
  926. BEGIN_TM_CLASS_PARTS(COMBOBOX)
  927. TM_PART(1, CP, DROPDOWNBUTTON)
  928. END_TM_CLASS_PARTS()
  929. BEGIN_TM_PART_STATES(COMBOBOX)
  930. TM_STATE(1, CBXS, NORMAL)
  931. TM_STATE(2, CBXS, HOT)
  932. TM_STATE(3, CBXS, PRESSED)
  933. TM_STATE(4, CBXS, DISABLED)
  934. END_TM_PART_STATES()
  935. //---------------------------------------------------------------------------------------
  936. // "Taskbar Clock" Parts & States
  937. //---------------------------------------------------------------------------------------
  938. BEGIN_TM_CLASS_PARTS(CLOCK)
  939. TM_PART(1, CLP, TIME)
  940. END_TM_CLASS_PARTS()
  941. BEGIN_TM_PART_STATES(CLOCK)
  942. TM_STATE(1, CLS, NORMAL)
  943. END_TM_PART_STATES()
  944. //---------------------------------------------------------------------------------------
  945. // "Tray Notify" Parts & States
  946. //---------------------------------------------------------------------------------------
  947. BEGIN_TM_CLASS_PARTS(TRAYNOTIFY)
  948. TM_PART(1, TNP, BACKGROUND)
  949. TM_PART(2, TNP, ANIMBACKGROUND)
  950. END_TM_CLASS_PARTS()
  951. //---------------------------------------------------------------------------------------
  952. // "TaskBar" Parts & States
  953. //---------------------------------------------------------------------------------------
  954. BEGIN_TM_CLASS_PARTS(TASKBAR)
  955. TM_PART(1, TBP, BACKGROUNDBOTTOM)
  956. TM_PART(2, TBP, BACKGROUNDRIGHT)
  957. TM_PART(3, TBP, BACKGROUNDTOP)
  958. TM_PART(4, TBP, BACKGROUNDLEFT)
  959. TM_PART(5, TBP, SIZINGBARBOTTOM)
  960. TM_PART(6, TBP, SIZINGBARRIGHT)
  961. TM_PART(7, TBP, SIZINGBARTOP)
  962. TM_PART(8, TBP, SIZINGBARLEFT)
  963. END_TM_CLASS_PARTS()
  964. //---------------------------------------------------------------------------------------
  965. // "TaskBand" Parts & States
  966. //---------------------------------------------------------------------------------------
  967. BEGIN_TM_CLASS_PARTS(TASKBAND)
  968. TM_PART(1, TDP, GROUPCOUNT)
  969. TM_PART(2, TDP, FLASHBUTTON)
  970. TM_PART(3, TDP, FLASHBUTTONGROUPMENU)
  971. END_TM_CLASS_PARTS()
  972. //---------------------------------------------------------------------------------------
  973. // "StartPanel" Parts & States
  974. //---------------------------------------------------------------------------------------
  975. BEGIN_TM_CLASS_PARTS(STARTPANEL)
  976. TM_PART(1, SPP, USERPANE)
  977. TM_PART(2, SPP, MOREPROGRAMS)
  978. TM_PART(3, SPP, MOREPROGRAMSARROW)
  979. TM_PART(4, SPP, PROGLIST)
  980. TM_PART(5, SPP, PROGLISTSEPARATOR)
  981. TM_PART(6, SPP, PLACESLIST)
  982. TM_PART(7, SPP, PLACESLISTSEPARATOR)
  983. TM_PART(8, SPP, LOGOFF)
  984. TM_PART(9, SPP, LOGOFFBUTTONS)
  985. TM_PART(10, SPP, USERPICTURE)
  986. TM_PART(11, SPP, PREVIEW)
  987. END_TM_CLASS_PARTS()
  988. BEGIN_TM_PART_STATES(MOREPROGRAMSARROW)
  989. TM_STATE(1, SPS, NORMAL)
  990. TM_STATE(2, SPS, HOT)
  991. TM_STATE(3, SPS, PRESSED)
  992. END_TM_PART_STATES()
  993. BEGIN_TM_PART_STATES(LOGOFFBUTTONS)
  994. TM_STATE(1, SPLS, NORMAL)
  995. TM_STATE(2, SPLS, HOT)
  996. TM_STATE(3, SPLS, PRESSED)
  997. END_TM_PART_STATES()
  998. //---------------------------------------------------------------------------------------
  999. // "ExplorerBar" Parts & States
  1000. //---------------------------------------------------------------------------------------
  1001. BEGIN_TM_CLASS_PARTS(EXPLORERBAR)
  1002. TM_PART(1, EBP, HEADERBACKGROUND)
  1003. TM_PART(2, EBP, HEADERCLOSE)
  1004. TM_PART(3, EBP, HEADERPIN)
  1005. TM_PART(4, EBP, IEBARMENU)
  1006. TM_PART(5, EBP, NORMALGROUPBACKGROUND)
  1007. TM_PART(6, EBP, NORMALGROUPCOLLAPSE)
  1008. TM_PART(7, EBP, NORMALGROUPEXPAND)
  1009. TM_PART(8, EBP, NORMALGROUPHEAD)
  1010. TM_PART(9, EBP, SPECIALGROUPBACKGROUND)
  1011. TM_PART(10, EBP, SPECIALGROUPCOLLAPSE)
  1012. TM_PART(11, EBP, SPECIALGROUPEXPAND)
  1013. TM_PART(12, EBP, SPECIALGROUPHEAD)
  1014. END_TM_CLASS_PARTS()
  1015. BEGIN_TM_PART_STATES(HEADERCLOSE)
  1016. TM_STATE(1, EBHC, NORMAL)
  1017. TM_STATE(2, EBHC, HOT)
  1018. TM_STATE(3, EBHC, PRESSED)
  1019. END_TM_PART_STATES()
  1020. BEGIN_TM_PART_STATES(HEADERPIN)
  1021. TM_STATE(1, EBHP, NORMAL)
  1022. TM_STATE(2, EBHP, HOT)
  1023. TM_STATE(3, EBHP, PRESSED)
  1024. TM_STATE(4, EBHP, SELECTEDNORMAL)
  1025. TM_STATE(5, EBHP, SELECTEDHOT)
  1026. TM_STATE(6, EBHP, SELECTEDPRESSED)
  1027. END_TM_PART_STATES()
  1028. BEGIN_TM_PART_STATES(IEBARMENU)
  1029. TM_STATE(1, EBM, NORMAL)
  1030. TM_STATE(2, EBM, HOT)
  1031. TM_STATE(3, EBM, PRESSED)
  1032. END_TM_PART_STATES()
  1033. BEGIN_TM_PART_STATES(NORMALGROUPCOLLAPSE)
  1034. TM_STATE(1, EBNGC, NORMAL)
  1035. TM_STATE(2, EBNGC, HOT)
  1036. TM_STATE(3, EBNGC, PRESSED)
  1037. END_TM_PART_STATES()
  1038. BEGIN_TM_PART_STATES(NORMALGROUPEXPAND)
  1039. TM_STATE(1, EBNGE, NORMAL)
  1040. TM_STATE(2, EBNGE, HOT)
  1041. TM_STATE(3, EBNGE, PRESSED)
  1042. END_TM_PART_STATES()
  1043. BEGIN_TM_PART_STATES(SPECIALGROUPCOLLAPSE)
  1044. TM_STATE(1, EBSGC, NORMAL)
  1045. TM_STATE(2, EBSGC, HOT)
  1046. TM_STATE(3, EBSGC, PRESSED)
  1047. END_TM_PART_STATES()
  1048. BEGIN_TM_PART_STATES(SPECIALGROUPEXPAND)
  1049. TM_STATE(1, EBSGE, NORMAL)
  1050. TM_STATE(2, EBSGE, HOT)
  1051. TM_STATE(3, EBSGE, PRESSED)
  1052. END_TM_PART_STATES()
  1053. //---------------------------------------------------------------------------------------
  1054. // "TaskBand" Parts & States
  1055. //---------------------------------------------------------------------------------------
  1056. BEGIN_TM_CLASS_PARTS(MENUBAND)
  1057. TM_PART(1, MDP, NEWAPPBUTTON)
  1058. TM_PART(2, MDP, SEPERATOR)
  1059. END_TM_CLASS_PARTS()
  1060. BEGIN_TM_PART_STATES(MENUBAND)
  1061. TM_STATE(1, MDS, NORMAL)
  1062. TM_STATE(2, MDS, HOT)
  1063. TM_STATE(3, MDS, PRESSED)
  1064. TM_STATE(4, MDS, DISABLED)
  1065. TM_STATE(5, MDS, CHECKED)
  1066. TM_STATE(6, MDS, HOTCHECKED)
  1067. END_TM_PART_STATES()
  1068. //---------------------------------------------------------------------------
  1069. END_TM_SCHEMA(ThemeMgrSchema)
  1070. //---------------------------------------------------------------------------
  1071. #endif // TMSCHEMA_H
  1072. //---------------------------------------------------------------------------