tmschema.h
来自「这是VCF框架的代码」· C头文件 代码 · 共 1,222 行 · 第 1/3 页
H
1,222 行
//-----------------------------------------------------------------// TmSchema.h - Theme Manager schema (properties, parts, etc)//-----------------------------------------------------------------// Note: this file is normally #include-ed twice a single .cpp // file. The 2nd time, SCHEME_STRINGS should be defined. // This allows the enums and strings to be kept in a // single logical table and ensure they stay in sync with// each other.//-----------------------------------------------------------------#if (defined(SCHEMA_STRINGS)) || (! defined(TMSCHEMA_H))//-----------------------------------------------------------------#define TMSCHEMA_H//-----------------------------------------------------------------#include "SchemaDef.h"//-----------------------------------------------------------------#define THEMEMGR_VERSION 1 // increment if order of props changes or // any props are deleted (will prevent loading // of controlsets that use older version//-----------------------------------------------------------------BEGIN_TM_SCHEMA(ThemeMgrSchema)//-----------------------------------------------------------------// TM_ENUM (must also be declared in PROPERTIES section)//// these cannot be renumbered (part of uxtheme API)//-----------------------------------------------------------------BEGIN_TM_ENUM(BGTYPE) TM_ENUM(0, BT, IMAGEFILE) TM_ENUM(1, BT, BORDERFILL) TM_ENUM(2, BT, NONE)END_TM_ENUM()BEGIN_TM_ENUM(IMAGELAYOUT) TM_ENUM(0, IL, VERTICAL) TM_ENUM(1, IL, HORIZONTAL)END_TM_ENUM()BEGIN_TM_ENUM(BORDERTYPE) TM_ENUM(0, BT, RECT) TM_ENUM(1, BT, ROUNDRECT) TM_ENUM(2, BT, ELLIPSE)END_TM_ENUM()BEGIN_TM_ENUM(FILLTYPE) TM_ENUM(0, FT, SOLID) TM_ENUM(1, FT, VERTGRADIENT) TM_ENUM(2, FT, HORZGRADIENT) TM_ENUM(3, FT, RADIALGRADIENT) TM_ENUM(4, FT, TILEIMAGE)END_TM_ENUM()BEGIN_TM_ENUM(SIZINGTYPE) TM_ENUM(0, ST, TRUESIZE) TM_ENUM(1, ST, STRETCH) TM_ENUM(2, ST, TILE)END_TM_ENUM()BEGIN_TM_ENUM(HALIGN) TM_ENUM(0, HA, LEFT) TM_ENUM(1, HA, CENTER) TM_ENUM(2, HA, RIGHT)END_TM_ENUM()BEGIN_TM_ENUM(CONTENTALIGNMENT) TM_ENUM(0, CA, LEFT) TM_ENUM(1, CA, CENTER) TM_ENUM(2, CA, RIGHT)END_TM_ENUM()BEGIN_TM_ENUM(VALIGN) TM_ENUM(0, VA, TOP) TM_ENUM(1, VA, CENTER) TM_ENUM(2, VA, BOTTOM)END_TM_ENUM()BEGIN_TM_ENUM(OFFSETTYPE) TM_ENUM(0, OT, TOPLEFT) TM_ENUM(1, OT, TOPRIGHT) TM_ENUM(2, OT, TOPMIDDLE) TM_ENUM(3, OT, BOTTOMLEFT) TM_ENUM(4, OT, BOTTOMRIGHT) TM_ENUM(5, OT, BOTTOMMIDDLE) TM_ENUM(6, OT, MIDDLELEFT) TM_ENUM(7, OT, MIDDLERIGHT) TM_ENUM(8, OT, LEFTOFCAPTION) TM_ENUM(9, OT, RIGHTOFCAPTION) TM_ENUM(10, OT, LEFTOFLASTBUTTON) TM_ENUM(11, OT, RIGHTOFLASTBUTTON) TM_ENUM(12, OT, ABOVELASTBUTTON) TM_ENUM(13, OT, BELOWLASTBUTTON)END_TM_ENUM()BEGIN_TM_ENUM(ICONEFFECT) TM_ENUM(0, ICE, NONE) TM_ENUM(1, ICE, GLOW) TM_ENUM(2, ICE, SHADOW) TM_ENUM(3, ICE, PULSE) TM_ENUM(4, ICE, ALPHA)END_TM_ENUM()BEGIN_TM_ENUM(TEXTSHADOWTYPE) TM_ENUM(0, TST, NONE) TM_ENUM(1, TST, SINGLE) TM_ENUM(2, TST, CONTINUOUS)END_TM_ENUM()BEGIN_TM_ENUM(GLYPHTYPE) TM_ENUM(0, GT, NONE) TM_ENUM(1, GT, IMAGEGLYPH) TM_ENUM(2, GT, FONTGLYPH)END_TM_ENUM()BEGIN_TM_ENUM(IMAGESELECTTYPE) TM_ENUM(0, IST, NONE) TM_ENUM(1, IST, SIZE) TM_ENUM(2, IST, DPI)END_TM_ENUM()BEGIN_TM_ENUM(TRUESIZESCALINGTYPE) TM_ENUM(0, TSST, NONE) TM_ENUM(1, TSST, SIZE) TM_ENUM(2, TSST, DPI)END_TM_ENUM()BEGIN_TM_ENUM(GLYPHFONTSIZINGTYPE) TM_ENUM(0, GFST, NONE) TM_ENUM(1, GFST, SIZE) TM_ENUM(2, GFST, DPI)END_TM_ENUM()//-----------------------------------------------------------------// PROPERTIES - used by uxtheme rendering and controls// // these cannot be renumbered (part of uxtheme API)//-----------------------------------------------------------------BEGIN_TM_PROPS() //---- primitive types ---- TM_PROP(201, TMT, STRING, STRING) TM_PROP(202, TMT, INT, INT) TM_PROP(203, TMT, BOOL, BOOL) TM_PROP(204, TMT, COLOR, COLOR) TM_PROP(205, TMT, MARGINS, MARGINS) TM_PROP(206, TMT, FILENAME, FILENAME) TM_PROP(207, TMT, SIZE, SIZE) TM_PROP(208, TMT, POSITION, POSITION) TM_PROP(209, TMT, RECT, RECT) TM_PROP(210, TMT, FONT, FONT) TM_PROP(211, TMT, INTLIST, INTLIST) //---- special misc. properties ---- TM_PROP(401, TMT, COLORSCHEMES, STRING) TM_PROP(402, TMT, SIZES, STRING) TM_PROP(403, TMT, CHARSET, INT) //---- [documentation] properties ----#define TMT_FIRST_RCSTRING_NAME TMT_DISPLAYNAME#define TMT_LAST_RCSTRING_NAME TMT_DESCRIPTION TM_PROP(601, TMT, DISPLAYNAME, STRING) TM_PROP(602, TMT, TOOLTIP, STRING) TM_PROP(603, TMT, COMPANY, STRING) TM_PROP(604, TMT, AUTHOR, STRING) TM_PROP(605, TMT, COPYRIGHT, STRING) TM_PROP(606, TMT, URL, STRING) TM_PROP(607, TMT, VERSION, STRING) TM_PROP(608, TMT, DESCRIPTION, STRING) //---- theme metrics: fonts ----#define TMT_FIRSTFONT TMT_CAPTIONFONT#define TMT_LASTFONT TMT_ICONTITLEFONT TM_PROP(801, TMT, CAPTIONFONT, FONT) TM_PROP(802, TMT, SMALLCAPTIONFONT, FONT) TM_PROP(803, TMT, MENUFONT, FONT) TM_PROP(804, TMT, STATUSFONT, FONT) TM_PROP(805, TMT, MSGBOXFONT, FONT) TM_PROP(806, TMT, ICONTITLEFONT, FONT) //---- theme metrics: bools ----#define TMT_FIRSTBOOL TMT_FLATMENUS#define TMT_LASTBOOL TMT_FLATMENUS TM_PROP(1001, TMT, FLATMENUS, BOOL) //---- theme metrics: sizes ----#define TMT_FIRSTSIZE TMT_SIZINGBORDERWIDTH#define TMT_LASTSIZE TMT_MENUBARHEIGHT TM_PROP(1201, TMT, SIZINGBORDERWIDTH, SIZE) TM_PROP(1202, TMT, SCROLLBARWIDTH, SIZE) TM_PROP(1203, TMT, SCROLLBARHEIGHT, SIZE) TM_PROP(1204, TMT, CAPTIONBARWIDTH, SIZE) TM_PROP(1205, TMT, CAPTIONBARHEIGHT, SIZE) TM_PROP(1206, TMT, SMCAPTIONBARWIDTH, SIZE) TM_PROP(1207, TMT, SMCAPTIONBARHEIGHT, SIZE) TM_PROP(1208, TMT, MENUBARWIDTH, SIZE) TM_PROP(1209, TMT, MENUBARHEIGHT, SIZE) //---- theme metrics: ints ----#define TMT_FIRSTINT TMT_MINCOLORDEPTH#define TMT_LASTINT TMT_MINCOLORDEPTH TM_PROP(1301, TMT, MINCOLORDEPTH, INT) //---- theme metrics: strings ----#define TMT_FIRSTSTRING TMT_CSSNAME#define TMT_LASTSTRING TMT_XMLNAME TM_PROP(1401, TMT, CSSNAME, STRING) TM_PROP(1402, TMT, XMLNAME, STRING) //---- theme metrics: colors ----#define TMT_FIRSTCOLOR TMT_SCROLLBAR#define TMT_LASTCOLOR TMT_MENUBAR TM_PROP(1601, TMT, SCROLLBAR, COLOR) TM_PROP(1602, TMT, BACKGROUND, COLOR) TM_PROP(1603, TMT, ACTIVECAPTION, COLOR) TM_PROP(1604, TMT, INACTIVECAPTION, COLOR) TM_PROP(1605, TMT, MENU, COLOR) TM_PROP(1606, TMT, WINDOW, COLOR) TM_PROP(1607, TMT, WINDOWFRAME, COLOR) TM_PROP(1608, TMT, MENUTEXT, COLOR) TM_PROP(1609, TMT, WINDOWTEXT, COLOR) TM_PROP(1610, TMT, CAPTIONTEXT, COLOR) TM_PROP(1611, TMT, ACTIVEBORDER, COLOR) TM_PROP(1612, TMT, INACTIVEBORDER, COLOR) TM_PROP(1613, TMT, APPWORKSPACE, COLOR) TM_PROP(1614, TMT, HIGHLIGHT, COLOR) TM_PROP(1615, TMT, HIGHLIGHTTEXT, COLOR) TM_PROP(1616, TMT, BTNFACE, COLOR) TM_PROP(1617, TMT, BTNSHADOW, COLOR) TM_PROP(1618, TMT, GRAYTEXT, COLOR) TM_PROP(1619, TMT, BTNTEXT, COLOR) TM_PROP(1620, TMT, INACTIVECAPTIONTEXT, COLOR) TM_PROP(1621, TMT, BTNHIGHLIGHT, COLOR) TM_PROP(1622, TMT, DKSHADOW3D, COLOR) TM_PROP(1623, TMT, LIGHT3D, COLOR) TM_PROP(1624, TMT, INFOTEXT, COLOR) TM_PROP(1625, TMT, INFOBK, COLOR) TM_PROP(1626, TMT, BUTTONALTERNATEFACE, COLOR) TM_PROP(1627, TMT, HOTTRACKING, COLOR) TM_PROP(1628, TMT, GRADIENTACTIVECAPTION, COLOR) TM_PROP(1629, TMT, GRADIENTINACTIVECAPTION, COLOR) TM_PROP(1630, TMT, MENUHILIGHT, COLOR) TM_PROP(1631, TMT, MENUBAR, COLOR) //---- hue substitutions ---- TM_PROP(1801, TMT, FROMHUE1, INT) TM_PROP(1802, TMT, FROMHUE2, INT) TM_PROP(1803, TMT, FROMHUE3, INT) TM_PROP(1804, TMT, FROMHUE4, INT) TM_PROP(1805, TMT, FROMHUE5, INT) TM_PROP(1806, TMT, TOHUE1, INT) TM_PROP(1807, TMT, TOHUE2, INT) TM_PROP(1808, TMT, TOHUE3, INT) TM_PROP(1809, TMT, TOHUE4, INT) TM_PROP(1810, TMT, TOHUE5, INT) //---- color substitutions ---- TM_PROP(2001, TMT, FROMCOLOR1, COLOR) TM_PROP(2002, TMT, FROMCOLOR2, COLOR) TM_PROP(2003, TMT, FROMCOLOR3, COLOR) TM_PROP(2004, TMT, FROMCOLOR4, COLOR) TM_PROP(2005, TMT, FROMCOLOR5, COLOR) TM_PROP(2006, TMT, TOCOLOR1, COLOR) TM_PROP(2007, TMT, TOCOLOR2, COLOR) TM_PROP(2008, TMT, TOCOLOR3, COLOR) TM_PROP(2009, TMT, TOCOLOR4, COLOR) TM_PROP(2010, TMT, TOCOLOR5, COLOR) //---- rendering BOOL properties ---- TM_PROP(2201, TMT, TRANSPARENT, BOOL) // image has transparent areas (see TransparentColor) TM_PROP(2202, TMT, AUTOSIZE, BOOL) // if TRUE, nonclient caption width varies with text extent TM_PROP(2203, TMT, BORDERONLY, BOOL) // only draw the border area of the image TM_PROP(2204, TMT, COMPOSITED, BOOL) // control will handle the composite drawing TM_PROP(2205, TMT, BGFILL, BOOL) // if TRUE, TRUESIZE images should be drawn on bg fill TM_PROP(2206, TMT, GLYPHTRANSPARENT, BOOL) // glyph has transparent areas (see GlyphTransparentColor) TM_PROP(2207, TMT, GLYPHONLY, BOOL) // only draw glyph (not background) TM_PROP(2208, TMT, ALWAYSSHOWSIZINGBAR, BOOL) TM_PROP(2209, TMT, MIRRORIMAGE, BOOL) // default=TRUE means image gets mirrored in RTL (Mirror) windows TM_PROP(2210, TMT, UNIFORMSIZING, BOOL) // if TRUE, height & width must be uniformly sized TM_PROP(2211, TMT, INTEGRALSIZING, BOOL) // for TRUESIZE and Border sizing; if TRUE, factor must be integer TM_PROP(2212, TMT, SOURCEGROW, BOOL) // if TRUE, will scale up src image when needed TM_PROP(2213, TMT, SOURCESHRINK, BOOL) // if TRUE, will scale down src image when needed //---- rendering INT properties ---- TM_PROP(2401, TMT, IMAGECOUNT, INT) // the number of state images in an imagefile TM_PROP(2402, TMT, ALPHALEVEL, INT) // (0-255) alpha value for an icon (DrawThemeIcon part) TM_PROP(2403, TMT, BORDERSIZE, INT) // the size of the border line for bgtype=BorderFill TM_PROP(2404, TMT, ROUNDCORNERWIDTH, INT) // (0-100) % of roundness for rounded rects TM_PROP(2405, TMT, ROUNDCORNERHEIGHT, INT) // (0-100) % of roundness for rounded rects TM_PROP(2406, TMT, GRADIENTRATIO1, INT) // (0-255) - amt of gradient color 1 to use (all must total=255) TM_PROP(2407, TMT, GRADIENTRATIO2, INT) // (0-255) - amt of gradient color 2 to use (all must total=255) TM_PROP(2408, TMT, GRADIENTRATIO3, INT) // (0-255) - amt of gradient color 3 to use (all must total=255) TM_PROP(2409, TMT, GRADIENTRATIO4, INT) // (0-255) - amt of gradient color 4 to use (all must total=255) TM_PROP(2410, TMT, GRADIENTRATIO5, INT) // (0-255) - amt of gradient color 5 to use (all must total=255) TM_PROP(2411, TMT, PROGRESSCHUNKSIZE, INT) // size of progress control chunks TM_PROP(2412, TMT, PROGRESSSPACESIZE, INT) // size of progress control spaces TM_PROP(2413, TMT, SATURATION, INT) // (0-255) amt of saturation for DrawThemeIcon() part TM_PROP(2414, TMT, TEXTBORDERSIZE, INT) // size of border around text chars TM_PROP(2415, TMT, ALPHATHRESHOLD, INT) // (0-255) the min. alpha value of a pixel that is solid TM_PROP(2416, TMT, WIDTH, SIZE) // custom window prop: size of part (min. window) TM_PROP(2417, TMT, HEIGHT, SIZE) // custom window prop: size of part (min. window) TM_PROP(2418, TMT, GLYPHINDEX, INT) // for font-based glyphs, the char index into the font TM_PROP(2419, TMT, TRUESIZESTRETCHMARK, INT) // stretch TrueSize image when target exceeds source by this percent TM_PROP(2420, TMT, MINDPI1, INT) // min DPI ImageFile1 was designed for TM_PROP(2421, TMT, MINDPI2, INT) // min DPI ImageFile1 was designed for TM_PROP(2422, TMT, MINDPI3, INT) // min DPI ImageFile1 was designed for TM_PROP(2423, TMT, MINDPI4, INT) // min DPI ImageFile1 was designed for TM_PROP(2424, TMT, MINDPI5, INT) // min DPI ImageFile1 was designed for //---- rendering FONT properties ---- TM_PROP(2601, TMT, GLYPHFONT, FONT) // the font that the glyph is drawn with //---- rendering INTLIST properties ---- // start with 2801 // (from smallest to largest) //---- rendering FILENAME properties ---- TM_PROP(3001, TMT, IMAGEFILE, FILENAME) // the filename of the image (or basename, for mult. images) TM_PROP(3002, TMT, IMAGEFILE1, FILENAME) // multiresolution image file TM_PROP(3003, TMT, IMAGEFILE2, FILENAME) // multiresolution image file TM_PROP(3004, TMT, IMAGEFILE3, FILENAME) // multiresolution image file TM_PROP(3005, TMT, IMAGEFILE4, FILENAME) // multiresolution image file TM_PROP(3006, TMT, IMAGEFILE5, FILENAME) // multiresolution image file TM_PROP(3007, TMT, STOCKIMAGEFILE, FILENAME) // These are the only images that you can call GetThemeBitmap on TM_PROP(3008, TMT, GLYPHIMAGEFILE, FILENAME) // the filename for the glyph image //---- rendering STRING properties ---- TM_PROP(3201, TMT, TEXT, STRING) //---- rendering POSITION (x and y values) properties ---- TM_PROP(3401, TMT, OFFSET, POSITION) // for window part layout TM_PROP(3402, TMT, TEXTSHADOWOFFSET, POSITION) // where char shadows are drawn, relative to orig. chars TM_PROP(3403, TMT, MINSIZE, POSITION) // min dest rect than ImageFile was designed for TM_PROP(3404, TMT, MINSIZE1, POSITION) // min dest rect than ImageFile1 was designed for TM_PROP(3405, TMT, MINSIZE2, POSITION) // min dest rect than ImageFile2 was designed for TM_PROP(3406, TMT, MINSIZE3, POSITION) // min dest rect than ImageFile3 was designed for TM_PROP(3407, TMT, MINSIZE4, POSITION) // min dest rect than ImageFile4 was designed for TM_PROP(3408, TMT, MINSIZE5, POSITION) // min dest rect than ImageFile5 was designed for TM_PROP(3409, TMT, NORMALSIZE, POSITION) // size of dest rect that exactly source //---- rendering MARGIN properties ---- TM_PROP(3601, TMT, SIZINGMARGINS, MARGINS) // margins used for 9-grid sizing TM_PROP(3602, TMT, CONTENTMARGINS, MARGINS) // margins that define where content can be placed TM_PROP(3603, TMT, CAPTIONMARGINS, MARGINS) // margins that define where caption text can be placed //---- rendering COLOR properties ---- TM_PROP(3801, TMT, BORDERCOLOR, COLOR) // color of borders for BorderFill TM_PROP(3802, TMT, FILLCOLOR, COLOR) // color of bg fill TM_PROP(3803, TMT, TEXTCOLOR, COLOR) // color text is drawn in TM_PROP(3804, TMT, EDGELIGHTCOLOR, COLOR) // edge color TM_PROP(3805, TMT, EDGEHIGHLIGHTCOLOR, COLOR) // edge color TM_PROP(3806, TMT, EDGESHADOWCOLOR, COLOR) // edge color TM_PROP(3807, TMT, EDGEDKSHADOWCOLOR, COLOR) // edge color TM_PROP(3808, TMT, EDGEFILLCOLOR, COLOR) // edge color TM_PROP(3809, TMT, TRANSPARENTCOLOR, COLOR) // color of pixels that are treated as transparent (not drawn) TM_PROP(3810, TMT, GRADIENTCOLOR1, COLOR) // first color in gradient TM_PROP(3811, TMT, GRADIENTCOLOR2, COLOR) // second color in gradient TM_PROP(3812, TMT, GRADIENTCOLOR3, COLOR) // third color in gradient TM_PROP(3813, TMT, GRADIENTCOLOR4, COLOR) // forth color in gradient TM_PROP(3814, TMT, GRADIENTCOLOR5, COLOR) // fifth color in gradient TM_PROP(3815, TMT, SHADOWCOLOR, COLOR) // color of text shadow TM_PROP(3816, TMT, GLOWCOLOR, COLOR) // color of glow produced by DrawThemeIcon TM_PROP(3817, TMT, TEXTBORDERCOLOR, COLOR) // color of text border TM_PROP(3818, TMT, TEXTSHADOWCOLOR, COLOR) // color of text shadow TM_PROP(3819, TMT, GLYPHTEXTCOLOR, COLOR) // color that font-based glyph is drawn with TM_PROP(3820, TMT, GLYPHTRANSPARENTCOLOR, COLOR) // color of transparent pixels in GlyphImageFile TM_PROP(3821, TMT, FILLCOLORHINT, COLOR) // hint about fill color used (for custom controls) TM_PROP(3822, TMT, BORDERCOLORHINT, COLOR) // hint about border color used (for custom controls) TM_PROP(3823, TMT, ACCENTCOLORHINT, COLOR) // hint about accent color used (for custom controls) //---- rendering enum properties (must be declared in TM_ENUM section above) ---- TM_PROP(4001, TMT, BGTYPE, ENUM) // basic drawing type for each part TM_PROP(4002, TMT, BORDERTYPE, ENUM) // type of border for BorderFill parts TM_PROP(4003, TMT, FILLTYPE, ENUM) // fill shape for BorderFill parts TM_PROP(4004, TMT, SIZINGTYPE, ENUM) // how to size ImageFile parts TM_PROP(4005, TMT, HALIGN, ENUM) // horizontal alignment for TRUESIZE parts & glyphs TM_PROP(4006, TMT, CONTENTALIGNMENT, ENUM) // custom window prop: how text is aligned in caption TM_PROP(4007, TMT, VALIGN, ENUM) // horizontal alignment for TRUESIZE parts & glyphs TM_PROP(4008, TMT, OFFSETTYPE, ENUM) // how window part should be placed TM_PROP(4009, TMT, ICONEFFECT, ENUM) // type of effect to use with DrawThemeIcon TM_PROP(4010, TMT, TEXTSHADOWTYPE, ENUM) // type of shadow to draw with text TM_PROP(4011, TMT, IMAGELAYOUT, ENUM) // how multiple images are arranged (horz. or vert.) TM_PROP(4012, TMT, GLYPHTYPE, ENUM) // controls type of glyph in imagefile objects TM_PROP(4013, TMT, IMAGESELECTTYPE, ENUM) // controls when to select from IMAGEFILE1...IMAGEFILE5 TM_PROP(4014, TMT, GLYPHFONTSIZINGTYPE, ENUM) // controls when to select a bigger/small glyph font size TM_PROP(4015, TMT, TRUESIZESCALINGTYPE, ENUM) // controls how TrueSize image is scaled //---- custom properties (used only by controls/shell) ---- TM_PROP(5001, TMT, USERPICTURE, BOOL) TM_PROP(5002, TMT, DEFAULTPANESIZE, RECT) TM_PROP(5003, TMT, BLENDCOLOR, COLOR)END_TM_PROPS()//---------------------------------------------------------------------------------------// "Window" (i.e., non-client) Parts & States//// these cannot be renumbered (part of uxtheme API)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?