widl: Add support for protected attribute.
[wine.git] / dlls / uxtheme / stylemap.c
blobb32004a26178f730912350ed5905110f419f6fa1
1 /*
2 * msstyle data maps
4 * Copyright (C) 2004 Kevin Koltzau
5 * Copyright 2021-2022 Zhiyi Zhang for CodeWeavers
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #include <stdarg.h>
23 #include <stdlib.h>
25 #include "windef.h"
26 #include "winbase.h"
27 #include "winnls.h"
28 #include "winuser.h"
29 #include "vssym32.h"
31 #define TMT_ENUM 200
32 #define TMT_STOCKIMAGEFILE 3007
34 typedef struct _MSSTYLES_PROPERTY_MAP {
35 WCHAR szPropertyName[24];
36 WORD dwPrimitiveType;
37 WORD dwPropertyID;
38 } MSSTYLES_PROPERTY_MAP, *PMSSTYLES_PROPERTY_MAP;
40 typedef struct _MSSTYLES_ENUM_MAP {
41 WORD dwEnum;
42 WORD dwValue;
43 WCHAR szValueName[18];
44 } MSSTYLES_ENUM_MAP, *PMSSTYLES_ENUM_MAP;
46 typedef struct _MSSTYLES_CLASS_MAP {
47 WORD dwPartID;
48 WORD dwStateID;
49 WCHAR szName[31];
50 } MSSTYLES_CLASS_MAP, *PMSSTYLES_CLASS_MAP;
52 typedef struct _MSSTYLES_CLASS_NAME {
53 const MSSTYLES_CLASS_MAP *lpMap;
54 WCHAR pszClass[12];
55 } MSSTYLES_CLASS_NAME, *PMSSTYLES_CLASS_NAME;
57 /***********************************************************************
58 * Map property names to IDs & primitive types
59 * PrimitiveType,PropertyID,PropertyName
61 * NOTE: Keep this sorted, we use bsearch to lookup properties.
63 static const MSSTYLES_PROPERTY_MAP mapProperty[] = {
64 {L"ACCENTCOLORHINT", TMT_COLOR, TMT_ACCENTCOLORHINT},
65 {L"ACTIVEBORDER", TMT_COLOR, TMT_ACTIVEBORDER},
66 {L"ACTIVECAPTION", TMT_COLOR, TMT_ACTIVECAPTION},
67 {L"ALPHALEVEL", TMT_INT, TMT_ALPHALEVEL},
68 {L"ALPHATHRESHOLD", TMT_INT, TMT_ALPHATHRESHOLD},
69 {L"ALWAYSSHOWSIZINGBAR", TMT_BOOL, TMT_ALWAYSSHOWSIZINGBAR},
70 {L"APPWORKSPACE", TMT_COLOR, TMT_APPWORKSPACE},
71 {L"AUTHOR", TMT_STRING, TMT_AUTHOR},
72 {L"AUTOSIZE", TMT_BOOL, TMT_AUTOSIZE},
73 {L"BACKGROUND", TMT_COLOR, TMT_BACKGROUND},
74 {L"BGFILL", TMT_BOOL, TMT_BGFILL},
75 {L"BGTYPE", TMT_ENUM, TMT_BGTYPE},
76 {L"BLENDCOLOR", TMT_COLOR, TMT_BLENDCOLOR},
77 {L"BODYFONT", TMT_FONT, TMT_BODYFONT},
78 {L"BOOL", TMT_BOOL, TMT_BOOL},
79 {L"BORDERCOLOR", TMT_COLOR, TMT_BORDERCOLOR},
80 {L"BORDERCOLORHINT", TMT_COLOR, TMT_BORDERCOLORHINT},
81 {L"BORDERONLY", TMT_BOOL, TMT_BORDERONLY},
82 {L"BORDERSIZE", TMT_INT, TMT_BORDERSIZE},
83 {L"BORDERTYPE", TMT_ENUM, TMT_BORDERTYPE},
84 {L"BTNFACE", TMT_COLOR, TMT_BTNFACE},
85 {L"BTNHIGHLIGHT", TMT_COLOR, TMT_BTNHIGHLIGHT},
86 {L"BTNSHADOW", TMT_COLOR, TMT_BTNSHADOW},
87 {L"BTNTEXT", TMT_COLOR, TMT_BTNTEXT},
88 {L"BUTTONALTERNATEFACE", TMT_COLOR, TMT_BUTTONALTERNATEFACE},
89 {L"CAPTIONBARHEIGHT", TMT_SIZE, TMT_CAPTIONBARHEIGHT},
90 {L"CAPTIONBARWIDTH", TMT_SIZE, TMT_CAPTIONBARWIDTH},
91 {L"CAPTIONFONT", TMT_FONT, TMT_CAPTIONFONT},
92 {L"CAPTIONMARGINS", TMT_MARGINS, TMT_CAPTIONMARGINS},
93 {L"CAPTIONTEXT", TMT_COLOR, TMT_CAPTIONTEXT},
94 {L"CHARSET", TMT_INT, TMT_CHARSET},
95 {L"COLOR", TMT_COLOR, TMT_COLOR},
96 {L"COLORSCHEMES", TMT_STRING, TMT_COLORSCHEMES},
97 {L"COMPANY", TMT_STRING, TMT_COMPANY},
98 {L"COMPOSITED", TMT_BOOL, TMT_COMPOSITED},
99 {L"CONTENTALIGNMENT", TMT_ENUM, TMT_CONTENTALIGNMENT},
100 {L"CONTENTMARGINS", TMT_MARGINS, TMT_CONTENTMARGINS},
101 {L"COPYRIGHT", TMT_STRING, TMT_COPYRIGHT},
102 {L"CSSNAME", TMT_STRING, TMT_CSSNAME},
103 {L"DEFAULTPANESIZE", TMT_RECT, TMT_DEFAULTPANESIZE},
104 {L"DESCRIPTION", TMT_STRING, TMT_DESCRIPTION},
105 {L"DISPLAYNAME", TMT_STRING, TMT_DISPLAYNAME},
106 {L"DKSHADOW3D", TMT_COLOR, TMT_DKSHADOW3D},
107 {L"EDGEDKSHADOWCOLOR", TMT_COLOR, TMT_EDGEDKSHADOWCOLOR},
108 {L"EDGEFILLCOLOR", TMT_COLOR, TMT_EDGEFILLCOLOR},
109 {L"EDGEHIGHLIGHTCOLOR", TMT_COLOR, TMT_EDGEHIGHLIGHTCOLOR},
110 {L"EDGELIGHTCOLOR", TMT_COLOR, TMT_EDGELIGHTCOLOR},
111 {L"EDGESHADOWCOLOR", TMT_COLOR, TMT_EDGESHADOWCOLOR},
112 {L"FILENAME", TMT_FILENAME, TMT_FILENAME},
113 {L"FILLCOLOR", TMT_COLOR, TMT_FILLCOLOR},
114 {L"FILLCOLORHINT", TMT_COLOR, TMT_FILLCOLORHINT},
115 {L"FILLTYPE", TMT_ENUM, TMT_FILLTYPE},
116 {L"FLATMENUS", TMT_BOOL, TMT_FLATMENUS},
117 {L"FONT", TMT_FONT, TMT_FONT},
118 {L"FROMCOLOR1", TMT_COLOR, TMT_FROMCOLOR1},
119 {L"FROMCOLOR2", TMT_COLOR, TMT_FROMCOLOR2},
120 {L"FROMCOLOR3", TMT_COLOR, TMT_FROMCOLOR3},
121 {L"FROMCOLOR4", TMT_COLOR, TMT_FROMCOLOR4},
122 {L"FROMCOLOR5", TMT_COLOR, TMT_FROMCOLOR5},
123 {L"FROMHUE1", TMT_INT, TMT_FROMHUE1},
124 {L"FROMHUE2", TMT_INT, TMT_FROMHUE2},
125 {L"FROMHUE3", TMT_INT, TMT_FROMHUE3},
126 {L"FROMHUE4", TMT_INT, TMT_FROMHUE4},
127 {L"FROMHUE5", TMT_INT, TMT_FROMHUE5},
128 {L"GLOWCOLOR", TMT_COLOR, TMT_GLOWCOLOR},
129 {L"GLYPHFONT", TMT_FONT, TMT_GLYPHFONT},
130 {L"GLYPHFONTSIZINGTYPE", TMT_ENUM, TMT_GLYPHFONTSIZINGTYPE},
131 {L"GLYPHIMAGEFILE", TMT_FILENAME, TMT_GLYPHIMAGEFILE},
132 {L"GLYPHINDEX", TMT_INT, TMT_GLYPHINDEX},
133 {L"GLYPHONLY", TMT_BOOL, TMT_GLYPHONLY},
134 {L"GLYPHTEXTCOLOR", TMT_COLOR, TMT_GLYPHTEXTCOLOR},
135 {L"GLYPHTRANSPARENT", TMT_BOOL, TMT_GLYPHTRANSPARENT},
136 {L"GLYPHTRANSPARENTCOLOR", TMT_COLOR, TMT_GLYPHTRANSPARENTCOLOR},
137 {L"GLYPHTYPE", TMT_ENUM, TMT_GLYPHTYPE},
138 {L"GRADIENTACTIVECAPTION", TMT_COLOR, TMT_GRADIENTACTIVECAPTION},
139 {L"GRADIENTCOLOR1", TMT_COLOR, TMT_GRADIENTCOLOR1},
140 {L"GRADIENTCOLOR2", TMT_COLOR, TMT_GRADIENTCOLOR2},
141 {L"GRADIENTCOLOR3", TMT_COLOR, TMT_GRADIENTCOLOR3},
142 {L"GRADIENTCOLOR4", TMT_COLOR, TMT_GRADIENTCOLOR4},
143 {L"GRADIENTCOLOR5", TMT_COLOR, TMT_GRADIENTCOLOR5},
144 {L"GRADIENTINACTIVECAPTION", TMT_COLOR, TMT_GRADIENTINACTIVECAPTION},
145 {L"GRADIENTRATIO1", TMT_INT, TMT_GRADIENTRATIO1},
146 {L"GRADIENTRATIO2", TMT_INT, TMT_GRADIENTRATIO2},
147 {L"GRADIENTRATIO3", TMT_INT, TMT_GRADIENTRATIO3},
148 {L"GRADIENTRATIO4", TMT_INT, TMT_GRADIENTRATIO4},
149 {L"GRADIENTRATIO5", TMT_INT, TMT_GRADIENTRATIO5},
150 {L"GRAYTEXT", TMT_COLOR, TMT_GRAYTEXT},
151 {L"HALIGN", TMT_ENUM, TMT_HALIGN},
152 {L"HEADING1FONT", TMT_FONT, TMT_HEADING1FONT},
153 {L"HEADING2FONT", TMT_FONT, TMT_HEADING2FONT},
154 {L"HEIGHT", TMT_SIZE, TMT_HEIGHT},
155 {L"HIGHLIGHT", TMT_COLOR, TMT_HIGHLIGHT},
156 {L"HIGHLIGHTTEXT", TMT_COLOR, TMT_HIGHLIGHTTEXT},
157 {L"HOTTRACKING", TMT_COLOR, TMT_HOTTRACKING},
158 {L"ICONEFFECT", TMT_ENUM, TMT_ICONEFFECT},
159 {L"ICONTITLEFONT", TMT_FONT, TMT_ICONTITLEFONT},
160 {L"IMAGECOUNT", TMT_INT, TMT_IMAGECOUNT},
161 {L"IMAGEFILE", TMT_FILENAME, TMT_IMAGEFILE},
162 {L"IMAGEFILE1", TMT_FILENAME, TMT_IMAGEFILE1},
163 {L"IMAGEFILE2", TMT_FILENAME, TMT_IMAGEFILE2},
164 {L"IMAGEFILE3", TMT_FILENAME, TMT_IMAGEFILE3},
165 {L"IMAGEFILE4", TMT_FILENAME, TMT_IMAGEFILE4},
166 {L"IMAGEFILE5", TMT_FILENAME, TMT_IMAGEFILE5},
167 {L"IMAGEFILE6", TMT_FILENAME, TMT_IMAGEFILE6},
168 {L"IMAGEFILE7", TMT_FILENAME, TMT_IMAGEFILE7},
169 {L"IMAGELAYOUT", TMT_ENUM, TMT_IMAGELAYOUT},
170 {L"IMAGESELECTTYPE", TMT_ENUM, TMT_IMAGESELECTTYPE},
171 {L"INACTIVEBORDER", TMT_COLOR, TMT_INACTIVEBORDER},
172 {L"INACTIVECAPTION", TMT_COLOR, TMT_INACTIVECAPTION},
173 {L"INACTIVECAPTIONTEXT", TMT_COLOR, TMT_INACTIVECAPTIONTEXT},
174 {L"INFOBK", TMT_COLOR, TMT_INFOBK},
175 {L"INFOTEXT", TMT_COLOR, TMT_INFOTEXT},
176 {L"INT", TMT_INT, TMT_INT},
177 {L"INTEGRALSIZING", TMT_BOOL, TMT_INTEGRALSIZING},
178 {L"INTLIST", TMT_INTLIST, TMT_INTLIST},
179 {L"LIGHT3D", TMT_COLOR, TMT_LIGHT3D},
180 {L"MARGINS", TMT_MARGINS, TMT_MARGINS},
181 {L"MENU", TMT_COLOR, TMT_MENU},
182 {L"MENUBAR", TMT_COLOR, TMT_MENUBAR},
183 {L"MENUBARHEIGHT", TMT_SIZE, TMT_MENUBARHEIGHT},
184 {L"MENUBARWIDTH", TMT_SIZE, TMT_MENUBARWIDTH},
185 {L"MENUFONT", TMT_FONT, TMT_MENUFONT},
186 {L"MENUHILIGHT", TMT_COLOR, TMT_MENUHILIGHT},
187 {L"MENUTEXT", TMT_COLOR, TMT_MENUTEXT},
188 {L"MINCOLORDEPTH", TMT_INT, TMT_MINCOLORDEPTH},
189 {L"MINDPI1", TMT_INT, TMT_MINDPI1},
190 {L"MINDPI2", TMT_INT, TMT_MINDPI2},
191 {L"MINDPI3", TMT_INT, TMT_MINDPI3},
192 {L"MINDPI4", TMT_INT, TMT_MINDPI4},
193 {L"MINDPI5", TMT_INT, TMT_MINDPI5},
194 {L"MINDPI6", TMT_INT, TMT_MINDPI6},
195 {L"MINDPI7", TMT_INT, TMT_MINDPI7},
196 {L"MINSIZE", TMT_POSITION, TMT_MINSIZE},
197 {L"MINSIZE1", TMT_POSITION, TMT_MINSIZE1},
198 {L"MINSIZE2", TMT_POSITION, TMT_MINSIZE2},
199 {L"MINSIZE3", TMT_POSITION, TMT_MINSIZE3},
200 {L"MINSIZE4", TMT_POSITION, TMT_MINSIZE4},
201 {L"MINSIZE5", TMT_POSITION, TMT_MINSIZE5},
202 {L"MINSIZE6", TMT_POSITION, TMT_MINSIZE6},
203 {L"MINSIZE7", TMT_POSITION, TMT_MINSIZE7},
204 {L"MIRRORIMAGE", TMT_BOOL, TMT_MIRRORIMAGE},
205 {L"MSGBOXFONT", TMT_FONT, TMT_MSGBOXFONT},
206 {L"NORMALSIZE", TMT_POSITION, TMT_NORMALSIZE},
207 {L"OFFSET", TMT_POSITION, TMT_OFFSET},
208 {L"OFFSETTYPE", TMT_ENUM, TMT_OFFSETTYPE},
209 {L"POSITION", TMT_POSITION, TMT_POSITION},
210 {L"PROGRESSCHUNKSIZE", TMT_INT, TMT_PROGRESSCHUNKSIZE},
211 {L"PROGRESSSPACESIZE", TMT_INT, TMT_PROGRESSSPACESIZE},
212 {L"RECT", TMT_RECT, TMT_RECT},
213 {L"ROUNDCORNERHEIGHT", TMT_INT, TMT_ROUNDCORNERHEIGHT},
214 {L"ROUNDCORNERWIDTH", TMT_INT, TMT_ROUNDCORNERWIDTH},
215 {L"SATURATION", TMT_INT, TMT_SATURATION},
216 {L"SCROLLBAR", TMT_COLOR, TMT_SCROLLBAR},
217 {L"SCROLLBARHEIGHT", TMT_SIZE, TMT_SCROLLBARHEIGHT},
218 {L"SCROLLBARWIDTH", TMT_SIZE, TMT_SCROLLBARWIDTH},
219 {L"SHADOWCOLOR", TMT_COLOR, TMT_SHADOWCOLOR},
220 {L"SIZE", TMT_SIZE, TMT_SIZE},
221 {L"SIZES", TMT_STRING, TMT_SIZES},
222 {L"SIZINGBORDERWIDTH", TMT_SIZE, TMT_SIZINGBORDERWIDTH},
223 {L"SIZINGMARGINS", TMT_MARGINS, TMT_SIZINGMARGINS},
224 {L"SIZINGTYPE", TMT_ENUM, TMT_SIZINGTYPE},
225 {L"SMALLCAPTIONFONT", TMT_FONT, TMT_SMALLCAPTIONFONT},
226 {L"SMCAPTIONBARHEIGHT", TMT_SIZE, TMT_SMCAPTIONBARHEIGHT},
227 {L"SMCAPTIONBARWIDTH", TMT_SIZE, TMT_SMCAPTIONBARWIDTH},
228 {L"SOURCEGROW", TMT_BOOL, TMT_SOURCEGROW},
229 {L"SOURCESHRINK", TMT_BOOL, TMT_SOURCESHRINK},
230 {L"STATUSFONT", TMT_FONT, TMT_STATUSFONT},
231 {L"STOCKIMAGEFILE", TMT_FILENAME, TMT_STOCKIMAGEFILE},
232 {L"STRING", TMT_STRING, TMT_STRING},
233 {L"TEXT", TMT_STRING, TMT_TEXT},
234 {L"TEXTBORDERCOLOR", TMT_COLOR, TMT_TEXTBORDERCOLOR},
235 {L"TEXTBORDERSIZE", TMT_INT, TMT_TEXTBORDERSIZE},
236 {L"TEXTCOLOR", TMT_COLOR, TMT_TEXTCOLOR},
237 {L"TEXTSHADOWCOLOR", TMT_COLOR, TMT_TEXTSHADOWCOLOR},
238 {L"TEXTSHADOWOFFSET", TMT_POSITION, TMT_TEXTSHADOWOFFSET},
239 {L"TEXTSHADOWTYPE", TMT_ENUM, TMT_TEXTSHADOWTYPE},
240 {L"TOCOLOR1", TMT_COLOR, TMT_TOCOLOR1},
241 {L"TOCOLOR2", TMT_COLOR, TMT_TOCOLOR2},
242 {L"TOCOLOR3", TMT_COLOR, TMT_TOCOLOR3},
243 {L"TOCOLOR4", TMT_COLOR, TMT_TOCOLOR4},
244 {L"TOCOLOR5", TMT_COLOR, TMT_TOCOLOR5},
245 {L"TOHUE1", TMT_INT, TMT_TOHUE1},
246 {L"TOHUE2", TMT_INT, TMT_TOHUE2},
247 {L"TOHUE3", TMT_INT, TMT_TOHUE3},
248 {L"TOHUE4", TMT_INT, TMT_TOHUE4},
249 {L"TOHUE5", TMT_INT, TMT_TOHUE5},
250 {L"TOOLTIP", TMT_STRING, TMT_TOOLTIP},
251 {L"TRANSITIONDURATIONS", TMT_INTLIST, TMT_TRANSITIONDURATIONS},
252 {L"TRANSPARENT", TMT_BOOL, TMT_TRANSPARENT},
253 {L"TRANSPARENTCOLOR", TMT_COLOR, TMT_TRANSPARENTCOLOR},
254 {L"TRUESIZESCALINGTYPE", TMT_ENUM, TMT_TRUESIZESCALINGTYPE},
255 {L"TRUESIZESTRETCHMARK", TMT_INT, TMT_TRUESIZESTRETCHMARK},
256 {L"UNIFORMSIZING", TMT_BOOL, TMT_UNIFORMSIZING},
257 {L"URL", TMT_STRING, TMT_URL},
258 {L"USERPICTURE", TMT_BOOL, TMT_USERPICTURE},
259 {L"VALIGN", TMT_ENUM, TMT_VALIGN},
260 {L"VERSION", TMT_STRING, TMT_VERSION},
261 {L"WIDTH", TMT_SIZE, TMT_WIDTH},
262 {L"WINDOW", TMT_COLOR, TMT_WINDOW},
263 {L"WINDOWFRAME", TMT_COLOR, TMT_WINDOWFRAME},
264 {L"WINDOWTEXT", TMT_COLOR, TMT_WINDOWTEXT},
265 {L"XMLNAME", TMT_STRING, TMT_XMLNAME},
268 /***********************************************************************
269 * Map strings to enumeration values
270 * Enum,Value,ValueName
272 static const MSSTYLES_ENUM_MAP mapEnum[] = {
273 {TMT_BGTYPE, BT_IMAGEFILE, L"IMAGEFILE"},
274 {TMT_BGTYPE, BT_BORDERFILL, L"BORDERFILL"},
275 {TMT_BGTYPE, BT_NONE, L"NONE"},
276 {TMT_IMAGELAYOUT, IL_VERTICAL, L"VERTICAL"},
277 {TMT_IMAGELAYOUT, IL_HORIZONTAL, L"HORIZONTAL"},
278 {TMT_BORDERTYPE, BT_RECT, L"RECT"},
279 {TMT_BORDERTYPE, BT_ROUNDRECT, L"ROUNDRECT"},
280 {TMT_BORDERTYPE, BT_ELLIPSE, L"ELLIPSE"},
281 {TMT_FILLTYPE, FT_SOLID, L"SOLID"},
282 {TMT_FILLTYPE, FT_VERTGRADIENT, L"VERTGRADIENT"},
283 {TMT_FILLTYPE, FT_HORZGRADIENT, L"HORZGRADIENT"},
284 {TMT_FILLTYPE, FT_RADIALGRADIENT, L"RADIALGRADIENT"},
285 {TMT_FILLTYPE, FT_TILEIMAGE, L"TILEIMAGE"},
286 {TMT_SIZINGTYPE, ST_TRUESIZE, L"TRUESIZE"},
287 {TMT_SIZINGTYPE, ST_STRETCH, L"STRETCH"},
288 {TMT_SIZINGTYPE, ST_TILE, L"TILE"},
289 {TMT_HALIGN, HA_LEFT, L"LEFT"},
290 {TMT_HALIGN, HA_CENTER, L"CENTER"},
291 {TMT_HALIGN, HA_RIGHT, L"RIGHT"},
292 {TMT_CONTENTALIGNMENT, CA_LEFT, L"LEFT"},
293 {TMT_CONTENTALIGNMENT, CA_CENTER, L"CENTER"},
294 {TMT_CONTENTALIGNMENT, CA_RIGHT, L"RIGHT"},
295 {TMT_VALIGN, VA_TOP, L"TOP"},
296 {TMT_VALIGN, VA_CENTER, L"CENTER"},
297 {TMT_VALIGN, VA_BOTTOM, L"BOTTOM"},
298 {TMT_OFFSETTYPE, OT_TOPLEFT, L"TOPLEFT"},
299 {TMT_OFFSETTYPE, OT_TOPRIGHT, L"TOPRIGHT"},
300 {TMT_OFFSETTYPE, OT_TOPMIDDLE, L"TOPMIDDLE"},
301 {TMT_OFFSETTYPE, OT_BOTTOMLEFT, L"BOTTOMLEFT"},
302 {TMT_OFFSETTYPE, OT_BOTTOMRIGHT, L"BOTTOMRIGHT"},
303 {TMT_OFFSETTYPE, OT_BOTTOMMIDDLE, L"BOTTOMMIDDLE"},
304 {TMT_OFFSETTYPE, OT_MIDDLELEFT, L"MIDDLELEFT"},
305 {TMT_OFFSETTYPE, OT_MIDDLERIGHT, L"MIDDLERIGHT"},
306 {TMT_OFFSETTYPE, OT_LEFTOFCAPTION, L"LEFTOFCAPTION"},
307 {TMT_OFFSETTYPE, OT_RIGHTOFCAPTION, L"RIGHTOFCAPTION"},
308 {TMT_OFFSETTYPE, OT_LEFTOFLASTBUTTON, L"LEFTOFLASTBUTTON"},
309 {TMT_OFFSETTYPE, OT_RIGHTOFLASTBUTTON, L"RIGHTOFLASTBUTTON"},
310 {TMT_OFFSETTYPE, OT_ABOVELASTBUTTON, L"ABOVELASTBUTTON"},
311 {TMT_OFFSETTYPE, OT_BELOWLASTBUTTON, L"BELOWLASTBUTTON"},
312 {TMT_ICONEFFECT, ICE_NONE, L"NONE"},
313 {TMT_ICONEFFECT, ICE_GLOW, L"GLOW"},
314 {TMT_ICONEFFECT, ICE_SHADOW, L"SHADOW"},
315 {TMT_ICONEFFECT, ICE_PULSE, L"PULSE"},
316 {TMT_ICONEFFECT, ICE_ALPHA, L"ALPHA"},
317 {TMT_TEXTSHADOWTYPE, TST_NONE, L"NONE"},
318 {TMT_TEXTSHADOWTYPE, TST_SINGLE, L"SINGLE"},
319 {TMT_TEXTSHADOWTYPE, TST_CONTINUOUS, L"CONTINUOUS"},
320 {TMT_GLYPHTYPE, GT_NONE, L"NONE"},
321 {TMT_GLYPHTYPE, GT_IMAGEGLYPH, L"IMAGEGLYPH"},
322 {TMT_GLYPHTYPE, GT_FONTGLYPH, L"FONTGLYPH"},
323 {TMT_IMAGESELECTTYPE, IST_NONE, L"NONE"},
324 {TMT_IMAGESELECTTYPE, IST_SIZE, L"SIZE"},
325 {TMT_IMAGESELECTTYPE, IST_DPI, L"DPI"},
326 {TMT_TRUESIZESCALINGTYPE, TSST_NONE, L"NONE"},
327 {TMT_TRUESIZESCALINGTYPE, TSST_SIZE, L"SIZE"},
328 {TMT_TRUESIZESCALINGTYPE, TSST_DPI, L"DPI"},
329 {TMT_GLYPHFONTSIZINGTYPE, GFST_NONE, L"NONE"},
330 {TMT_GLYPHFONTSIZINGTYPE, GFST_SIZE, L"SIZE"},
331 {TMT_GLYPHFONTSIZINGTYPE, GFST_DPI, L"DPI"},
332 {0, 0, L""}
336 /***********************************************************************
337 * Classes defined below
338 * Defined as PartID,StateID,TextName
339 * If StateID == 0 then its a part being defined
341 static const MSSTYLES_CLASS_MAP classButton[] = {
342 {BP_PUSHBUTTON, 0, L"PUSHBUTTON"},
343 {BP_PUSHBUTTON, PBS_NORMAL, L"NORMAL"},
344 {BP_PUSHBUTTON, PBS_HOT, L"HOT"},
345 {BP_PUSHBUTTON, PBS_PRESSED, L"PRESSED"},
346 {BP_PUSHBUTTON, PBS_DISABLED, L"DISABLED"},
347 {BP_PUSHBUTTON, PBS_DEFAULTED, L"DEFAULTED"},
348 {BP_PUSHBUTTON, PBS_DEFAULTED_ANIMATING, L"DEFAULTED_ANIMATING"},
349 {BP_RADIOBUTTON, 0, L"RADIOBUTTON"},
350 {BP_RADIOBUTTON, RBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
351 {BP_RADIOBUTTON, RBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
352 {BP_RADIOBUTTON, RBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
353 {BP_RADIOBUTTON, RBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
354 {BP_RADIOBUTTON, RBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
355 {BP_RADIOBUTTON, RBS_CHECKEDHOT, L"CHECKEDHOT"},
356 {BP_RADIOBUTTON, RBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
357 {BP_RADIOBUTTON, RBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
358 {BP_CHECKBOX, 0, L"CHECKBOX"},
359 {BP_CHECKBOX, CBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
360 {BP_CHECKBOX, CBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
361 {BP_CHECKBOX, CBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
362 {BP_CHECKBOX, CBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
363 {BP_CHECKBOX, CBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
364 {BP_CHECKBOX, CBS_CHECKEDHOT, L"CHECKEDHOT"},
365 {BP_CHECKBOX, CBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
366 {BP_CHECKBOX, CBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
367 {BP_CHECKBOX, CBS_MIXEDNORMAL, L"MIXEDNORMAL"},
368 {BP_CHECKBOX, CBS_MIXEDHOT, L"MIXEDHOT"},
369 {BP_CHECKBOX, CBS_MIXEDPRESSED, L"MIXEDPRESSED"},
370 {BP_CHECKBOX, CBS_MIXEDDISABLED, L"MIXEDDISABLED"},
371 {BP_CHECKBOX, CBS_IMPLICITNORMAL, L"IMPLICITNORMAL"},
372 {BP_CHECKBOX, CBS_IMPLICITHOT, L"IMPLICITHOT"},
373 {BP_CHECKBOX, CBS_IMPLICITPRESSED, L"IMPLICITPRESSED"},
374 {BP_CHECKBOX, CBS_IMPLICITDISABLED, L"IMPLICITDISABLED"},
375 {BP_CHECKBOX, CBS_EXCLUDEDNORMAL, L"EXCLUDEDNORMAL"},
376 {BP_CHECKBOX, CBS_EXCLUDEDHOT, L"EXCLUDEDHOT"},
377 {BP_CHECKBOX, CBS_EXCLUDEDPRESSED, L"EXCLUDEDPRESSED"},
378 {BP_CHECKBOX, CBS_EXCLUDEDDISABLED, L"EXCLUDEDDISABLED"},
379 {BP_GROUPBOX, 0, L"GROUPBOX"},
380 {BP_GROUPBOX, GBS_NORMAL, L"NORMAL"},
381 {BP_GROUPBOX, GBS_DISABLED, L"DISABLED"},
382 {BP_USERBUTTON, 0, L"USERBUTTON"},
383 {BP_COMMANDLINK, 0, L"COMMANDLINK"},
384 {BP_COMMANDLINK, CMDLS_NORMAL, L"NORMAL"},
385 {BP_COMMANDLINK, CMDLS_HOT, L"HOT"},
386 {BP_COMMANDLINK, CMDLS_PRESSED, L"PRESSED"},
387 {BP_COMMANDLINK, CMDLS_DISABLED, L"DISABLED"},
388 {BP_COMMANDLINK, CMDLS_DEFAULTED, L"DEFAULTED"},
389 {BP_COMMANDLINK, CMDLS_DEFAULTED_ANIMATING, L"DEFAULTED_ANIMATING"},
390 {BP_COMMANDLINKGLYPH, 0, L"COMMANDLINKGLYPH"},
391 {BP_COMMANDLINKGLYPH, CMDLGS_NORMAL, L"NORMAL"},
392 {BP_COMMANDLINKGLYPH, CMDLGS_HOT, L"HOT"},
393 {BP_COMMANDLINKGLYPH, CMDLGS_PRESSED, L"PRESSED"},
394 {BP_COMMANDLINKGLYPH, CMDLGS_DISABLED, L"DISABLED"},
395 {BP_COMMANDLINKGLYPH, CMDLGS_DEFAULTED, L"DEFAULTED"},
396 {BP_RADIOBUTTON_HCDISABLED, 0, L"RADIOBUTTON_HCDISABLED"},
397 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
398 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
399 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
400 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
401 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
402 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDHOT, L"CHECKEDHOT"},
403 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
404 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
405 {BP_CHECKBOX_HCDISABLED, 0, L"CHECKBOX_HCDISABLED"},
406 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
407 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
408 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
409 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
410 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
411 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDHOT, L"CHECKEDHOT"},
412 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
413 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
414 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDNORMAL, L"MIXEDNORMAL"},
415 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDHOT, L"MIXEDHOT"},
416 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDPRESSED, L"MIXEDPRESSED"},
417 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDDISABLED, L"MIXEDDISABLED"},
418 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITNORMAL, L"IMPLICITNORMAL"},
419 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITHOT, L"IMPLICITHOT"},
420 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITPRESSED, L"IMPLICITPRESSED"},
421 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITDISABLED, L"IMPLICITDISABLED"},
422 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDNORMAL, L"EXCLUDEDNORMAL"},
423 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDHOT, L"EXCLUDEDHOT"},
424 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDPRESSED, L"EXCLUDEDPRESSED"},
425 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDDISABLED, L"EXCLUDEDDISABLED"},
426 {BP_GROUPBOX_HCDISABLED, 0, L"GROUPBOX_HCDISABLED"},
427 {BP_GROUPBOX_HCDISABLED, GBS_NORMAL, L"NORMAL"},
428 {BP_GROUPBOX_HCDISABLED, GBS_DISABLED, L"DISABLED"},
429 {BP_PUSHBUTTONDROPDOWN, 0, L"PUSHBUTTONDROPDOWN"},
430 {BP_PUSHBUTTONDROPDOWN, PBDDS_NORMAL, L"NORMAL"},
431 {BP_PUSHBUTTONDROPDOWN, PBDDS_DISABLED, L"DISABLED"},
432 {0, 0, L""}
435 static const MSSTYLES_CLASS_MAP classClock[] = {
436 {CLP_TIME, 0, L"TIME"},
437 {CLP_TIME, CLS_NORMAL, L"NORMAL"},
438 {CLP_TIME, CLS_HOT, L"HOT"},
439 {CLP_TIME, CLS_PRESSED, L"PRESSED"},
440 {0, 0, L""}
443 static const MSSTYLES_CLASS_MAP classCombobox[] = {
444 {CP_DROPDOWNBUTTON, 0, L"DROPDOWNBUTTON"},
445 {CP_DROPDOWNBUTTON, CBXS_NORMAL, L"NORMAL"},
446 {CP_DROPDOWNBUTTON, CBXS_HOT, L"HOT"},
447 {CP_DROPDOWNBUTTON, CBXS_PRESSED, L"PRESSED"},
448 {CP_DROPDOWNBUTTON, CBXS_DISABLED, L"DISABLED"},
449 {CP_BACKGROUND, 0, L"BACKGROUND"},
450 {CP_TRANSPARENTBACKGROUND, 0, L"TRANSPARENTBACKGROUND"},
451 {CP_TRANSPARENTBACKGROUND, CBTBS_NORMAL, L"NORMAL"},
452 {CP_TRANSPARENTBACKGROUND, CBTBS_HOT, L"HOT"},
453 {CP_TRANSPARENTBACKGROUND, CBTBS_DISABLED, L"DISABLED"},
454 {CP_TRANSPARENTBACKGROUND, CBTBS_FOCUSED, L"FOCUSED"},
455 {CP_BORDER, 0, L"BORDER"},
456 {CP_BORDER, CBB_NORMAL, L"NORMAL"},
457 {CP_BORDER, CBB_HOT, L"HOT"},
458 {CP_BORDER, CBB_FOCUSED, L"FOCUSED"},
459 {CP_BORDER, CBB_DISABLED, L"DISABLED"},
460 {CP_READONLY, 0, L"READONLY"},
461 {CP_READONLY, CBRO_NORMAL, L"NORMAL"},
462 {CP_READONLY, CBRO_HOT, L"HOT"},
463 {CP_READONLY, CBRO_PRESSED, L"PRESSED"},
464 {CP_READONLY, CBRO_DISABLED, L"DISABLED"},
465 {CP_DROPDOWNBUTTONRIGHT, 0, L"DROPDOWNBUTTONRIGHT"},
466 {CP_DROPDOWNBUTTONRIGHT, CBXSR_NORMAL, L"NORMAL"},
467 {CP_DROPDOWNBUTTONRIGHT, CBXSR_HOT, L"HOT"},
468 {CP_DROPDOWNBUTTONRIGHT, CBXSR_PRESSED, L"PRESSED"},
469 {CP_DROPDOWNBUTTONRIGHT, CBXSR_DISABLED, L"DISABLED"},
470 {CP_DROPDOWNBUTTONLEFT, 0, L"DROPDOWNBUTTONLEFT"},
471 {CP_DROPDOWNBUTTONLEFT, CBXSL_NORMAL, L"NORMAL"},
472 {CP_DROPDOWNBUTTONLEFT, CBXSL_HOT, L"HOT"},
473 {CP_DROPDOWNBUTTONLEFT, CBXSL_PRESSED, L"PRESSED"},
474 {CP_DROPDOWNBUTTONLEFT, CBXSL_DISABLED, L"DISABLED"},
475 {CP_CUEBANNER, 0, L"CUEBANNER"},
476 {CP_CUEBANNER, CBCB_NORMAL, L"NORMAL"},
477 {CP_CUEBANNER, CBCB_HOT, L"HOT"},
478 {CP_CUEBANNER, CBCB_PRESSED, L"PRESSED"},
479 {CP_CUEBANNER, CBCB_DISABLED, L"DISABLED"},
480 {CP_DROPDOWNITEM, 0, L"DROPDOWNITEM"},
481 {CP_DROPDOWNITEM, CBDI_NORMAL, L"NORMAL"},
482 {CP_DROPDOWNITEM, CBDI_HIGHLIGHTED, L"HIGHLIGHTED"},
483 {0, 0, L""}
486 static const MSSTYLES_CLASS_MAP classEdit[] = {
487 {EP_EDITTEXT, 0, L"EDITTEXT"},
488 {EP_EDITTEXT, ETS_NORMAL, L"NORMAL"},
489 {EP_EDITTEXT, ETS_HOT, L"HOT"},
490 {EP_EDITTEXT, ETS_SELECTED, L"SELECTED"},
491 {EP_EDITTEXT, ETS_DISABLED, L"DISABLED"},
492 {EP_EDITTEXT, ETS_FOCUSED, L"FOCUSED"},
493 {EP_EDITTEXT, ETS_READONLY, L"READONLY"},
494 {EP_EDITTEXT, ETS_ASSIST, L"ASSIST"},
495 {EP_EDITTEXT, ETS_CUEBANNER, L"CUEBANNER"},
496 {EP_CARET, 0, L"CARET"},
497 {EP_BACKGROUND, 0, L"BACKGROUND"},
498 {EP_BACKGROUND, EBS_NORMAL, L"NORMAL"},
499 {EP_BACKGROUND, EBS_HOT, L"HOT"},
500 {EP_BACKGROUND, EBS_DISABLED, L"DISABLED"},
501 {EP_BACKGROUND, EBS_FOCUSED, L"FOCUSED"},
502 {EP_BACKGROUND, EBS_READONLY, L"READONLY"},
503 {EP_BACKGROUND, EBS_ASSIST, L"ASSIST"},
504 {EP_PASSWORD, 0, L"PASSWORD"},
505 {EP_BACKGROUNDWITHBORDER, 0, L"BACKGROUNDWITHBORDER"},
506 {EP_BACKGROUNDWITHBORDER, EBWBS_NORMAL, L"NORMAL"},
507 {EP_BACKGROUNDWITHBORDER, EBWBS_HOT, L"HOT"},
508 {EP_BACKGROUNDWITHBORDER, EBWBS_DISABLED, L"DISABLED"},
509 {EP_BACKGROUNDWITHBORDER, EBWBS_FOCUSED, L"FOCUSED"},
510 {EP_EDITBORDER_NOSCROLL, 0, L"EDITBORDER_NOSCROLL"},
511 {EP_EDITBORDER_NOSCROLL, EPSN_NORMAL, L"NORMAL"},
512 {EP_EDITBORDER_NOSCROLL, EPSN_HOT, L"HOT"},
513 {EP_EDITBORDER_NOSCROLL, EPSN_FOCUSED, L"FOCUSED"},
514 {EP_EDITBORDER_NOSCROLL, EPSN_DISABLED, L"DISABLED"},
515 {EP_EDITBORDER_HSCROLL, 0, L"EDITBORDER_HSCROLL"},
516 {EP_EDITBORDER_HSCROLL, EPSH_NORMAL, L"NORMAL"},
517 {EP_EDITBORDER_HSCROLL, EPSH_HOT, L"HOT"},
518 {EP_EDITBORDER_HSCROLL, EPSH_FOCUSED, L"FOCUSED"},
519 {EP_EDITBORDER_HSCROLL, EPSH_DISABLED, L"DISABLED"},
520 {EP_EDITBORDER_VSCROLL, 0, L"EDITBORDER_VSCROLL"},
521 {EP_EDITBORDER_VSCROLL, EPSV_NORMAL, L"NORMAL"},
522 {EP_EDITBORDER_VSCROLL, EPSV_HOT, L"HOT"},
523 {EP_EDITBORDER_VSCROLL, EPSV_FOCUSED, L"FOCUSED"},
524 {EP_EDITBORDER_VSCROLL, EPSV_DISABLED, L"DISABLED"},
525 {EP_EDITBORDER_HVSCROLL, 0, L"EDITBORDER_HVSCROLL"},
526 {EP_EDITBORDER_HVSCROLL, EPSHV_NORMAL, L"NORMAL"},
527 {EP_EDITBORDER_HVSCROLL, EPSHV_HOT, L"HOT"},
528 {EP_EDITBORDER_HVSCROLL, EPSHV_FOCUSED, L"FOCUSED"},
529 {EP_EDITBORDER_HVSCROLL, EPSHV_DISABLED, L"DISABLED"},
530 {0, 0, L""}
533 static const MSSTYLES_CLASS_MAP classExplorerbar[] = {
534 {EBP_HEADERBACKGROUND, 0, L"HEADERBACKGROUND"},
535 {EBP_HEADERCLOSE, 0, L"HEADERCLOSE"},
536 {EBP_HEADERCLOSE, EBHC_NORMAL, L"NORMAL"},
537 {EBP_HEADERCLOSE, EBHC_HOT, L"HOT"},
538 {EBP_HEADERCLOSE, EBHC_PRESSED, L"PRESSED"},
539 {EBP_HEADERPIN, 0, L"HEADERPIN"},
540 {EBP_HEADERPIN, EBHP_NORMAL, L"NORMAL"},
541 {EBP_HEADERPIN, EBHP_HOT, L"HOT"},
542 {EBP_HEADERPIN, EBHP_PRESSED, L"PRESSED"},
543 {EBP_HEADERPIN, EBHP_SELECTEDNORMAL, L"SELECTEDNORMAL"},
544 {EBP_HEADERPIN, EBHP_SELECTEDHOT, L"SELECTEDHOT"},
545 {EBP_HEADERPIN, EBHP_SELECTEDPRESSED, L"SELECTEDPRESSED"},
546 {EBP_IEBARMENU, 0, L"IEBARMENU"},
547 {EBP_IEBARMENU, EBM_NORMAL, L"NORMAL"},
548 {EBP_IEBARMENU, EBM_HOT, L"HOT"},
549 {EBP_IEBARMENU, EBM_PRESSED, L"PRESSED"},
550 {EBP_NORMALGROUPBACKGROUND, 0, L"NORMALGROUPBACKGROUND"},
551 {EBP_NORMALGROUPCOLLAPSE, 0, L"NORMALGROUPCOLLAPSE"},
552 {EBP_NORMALGROUPCOLLAPSE, EBNGC_NORMAL, L"NORMAL"},
553 {EBP_NORMALGROUPCOLLAPSE, EBNGC_HOT, L"HOT"},
554 {EBP_NORMALGROUPCOLLAPSE, EBNGC_PRESSED, L"PRESSED"},
555 {EBP_NORMALGROUPEXPAND, 0, L"NORMALGROUPEXPAND"},
556 {EBP_NORMALGROUPEXPAND, EBNGE_NORMAL, L"NORMAL"},
557 {EBP_NORMALGROUPEXPAND, EBNGE_HOT, L"HOT"},
558 {EBP_NORMALGROUPEXPAND, EBNGE_PRESSED, L"PRESSED"},
559 {EBP_NORMALGROUPHEAD, 0, L"NORMALGROUPHEAD"},
560 {EBP_SPECIALGROUPBACKGROUND, 0, L"SPECIALGROUPBACKGROUND"},
561 {EBP_SPECIALGROUPCOLLAPSE, 0, L"SPECIALGROUPCOLLAPSE"},
562 {EBP_SPECIALGROUPCOLLAPSE, EBSGC_NORMAL, L"NORMAL"},
563 {EBP_SPECIALGROUPCOLLAPSE, EBSGC_HOT, L"HOT"},
564 {EBP_SPECIALGROUPCOLLAPSE, EBSGC_PRESSED, L"PRESSED"},
565 {EBP_SPECIALGROUPEXPAND, 0, L"SPECIALGROUPEXPAND"},
566 {EBP_SPECIALGROUPEXPAND, EBSGE_NORMAL, L"NORMAL"},
567 {EBP_SPECIALGROUPEXPAND, EBSGE_HOT, L"HOT"},
568 {EBP_SPECIALGROUPEXPAND, EBSGE_PRESSED, L"PRESSED"},
569 {EBP_SPECIALGROUPHEAD, 0, L"SPECIALGROUPHEAD"},
570 {0, 0, L""}
573 static const MSSTYLES_CLASS_MAP classHeader[] = {
574 {HP_HEADERITEM, 0, L"HEADERITEM"},
575 {HP_HEADERITEM, HIS_NORMAL, L"NORMAL"},
576 {HP_HEADERITEM, HIS_HOT, L"HOT"},
577 {HP_HEADERITEM, HIS_PRESSED, L"PRESSED"},
578 {HP_HEADERITEM, HIS_SORTEDNORMAL, L"SORTEDNORMAL"},
579 {HP_HEADERITEM, HIS_SORTEDHOT, L"SORTHOT"},
580 {HP_HEADERITEM, HIS_SORTEDPRESSED, L"SORTPRESSED"},
581 {HP_HEADERITEM, HIS_ICONNORMAL, L"ICONNORMAL"},
582 {HP_HEADERITEM, HIS_ICONHOT, L"ICONHOT"},
583 {HP_HEADERITEM, HIS_ICONPRESSED, L"ICONPRESSED"},
584 {HP_HEADERITEM, HIS_ICONSORTEDNORMAL, L"ICONSORTEDNORMAL"},
585 {HP_HEADERITEM, HIS_ICONSORTEDHOT, L"ICONSORTEDHOT"},
586 {HP_HEADERITEM, HIS_ICONSORTEDPRESSED, L"ICONSORTEDPRESSED"},
587 {HP_HEADERITEMLEFT, 0, L"HEADERITEMLEFT"},
588 {HP_HEADERITEMLEFT, HILS_NORMAL, L"NORMAL"},
589 {HP_HEADERITEMLEFT, HILS_HOT, L"HOT"},
590 {HP_HEADERITEMLEFT, HILS_PRESSED, L"PRESSED"},
591 {HP_HEADERITEMRIGHT, 0, L"HEADERITEMRIGHT"},
592 {HP_HEADERITEMRIGHT, HIRS_NORMAL, L"NORMAL"},
593 {HP_HEADERITEMRIGHT, HIRS_HOT, L"HOT"},
594 {HP_HEADERITEMRIGHT, HIRS_PRESSED, L"PRESSED"},
595 {HP_HEADERSORTARROW, 0, L"HEADERSORTARROW"},
596 {HP_HEADERSORTARROW, HSAS_SORTEDUP, L"SORTEDUP"},
597 {HP_HEADERSORTARROW, HSAS_SORTEDDOWN, L"SORTEDDOWN"},
598 {HP_HEADERDROPDOWN, 0, L"HEADERDROPDOWN"},
599 {HP_HEADERDROPDOWN, HDDS_NORMAL, L"NORMAL"},
600 {HP_HEADERDROPDOWN, HDDS_SOFTHOT, L"SOFTHOT"},
601 {HP_HEADERDROPDOWN, HDDS_HOT, L"HOT"},
602 {HP_HEADERDROPDOWNFILTER, 0, L"HEADERDROPDOWNFILTER"},
603 {HP_HEADERDROPDOWNFILTER, HDDFS_NORMAL, L"NORMAL"},
604 {HP_HEADERDROPDOWNFILTER, HDDFS_SOFTHOT, L"SOFTHOT"},
605 {HP_HEADERDROPDOWNFILTER, HDDFS_HOT, L"HOT"},
606 {HP_HEADEROVERFLOW, 0, L"HEADEROVERFLOW"},
607 {HP_HEADEROVERFLOW, HOFS_NORMAL, L"NORMAL"},
608 {HP_HEADEROVERFLOW, HOFS_HOT, L"HOT"},
609 {0, 0, L""}
612 static const MSSTYLES_CLASS_MAP classListview[] = {
613 {LVP_LISTITEM, 0, L"LISTITEM"},
614 {LVP_LISTITEM, LISS_NORMAL, L"NORMAL"},
615 {LVP_LISTITEM, LISS_HOT, L"HOT"},
616 {LVP_LISTITEM, LISS_SELECTED, L"SELECTED"},
617 {LVP_LISTITEM, LISS_DISABLED, L"DISABLED"},
618 {LVP_LISTITEM, LISS_SELECTEDNOTFOCUS, L"SELECTEDNOTFOCUS"},
619 {LVP_LISTITEM, LISS_HOTSELECTED, L"HOTSELECTED"},
620 {LVP_LISTGROUP, 0, L"LISTGROUP"},
621 {LVP_LISTDETAIL, 0, L"LISTDETAIL"},
622 {LVP_LISTSORTEDDETAIL, 0, L"LISTSORTEDDETAIL"},
623 {LVP_EMPTYTEXT, 0, L"EMPTYTEXT"},
624 {LVP_GROUPHEADER, 0, L"GROUPHEADER"},
625 {LVP_GROUPHEADER, LVGH_OPEN, L"OPEN"},
626 {LVP_GROUPHEADER, LVGH_OPENHOT, L"OPENHOT"},
627 {LVP_GROUPHEADER, LVGH_OPENSELECTED, L"OPENSELECTED"},
628 {LVP_GROUPHEADER, LVGH_OPENSELECTEDHOT, L"OPENSELECTEDHOT"},
629 {LVP_GROUPHEADER, LVGH_OPENSELECTEDNOTFOCUSED, L"OPENSELECTEDNOTFOCUSED"},
630 {LVP_GROUPHEADER, LVGH_OPENSELECTEDNOTFOCUSEDHOT, L"OPENSELECTEDNOTFOCUSEDHOT"},
631 {LVP_GROUPHEADER, LVGH_OPENMIXEDSELECTION, L"OPENMIXEDSELECTION"},
632 {LVP_GROUPHEADER, LVGH_OPENMIXEDSELECTIONHOT, L"OPENMIXEDSELECTIONHOT"},
633 {LVP_GROUPHEADER, LVGH_CLOSE, L"CLOSE"},
634 {LVP_GROUPHEADER, LVGH_CLOSEHOT, L"CLOSEHOT"},
635 {LVP_GROUPHEADER, LVGH_CLOSESELECTED, L"CLOSESELECTED"},
636 {LVP_GROUPHEADER, LVGH_CLOSESELECTEDHOT, L"CLOSESELECTEDHOT"},
637 {LVP_GROUPHEADER, LVGH_CLOSESELECTEDNOTFOCUSED, L"CLOSESELECTEDNOTFOCUSED"},
638 {LVP_GROUPHEADER, LVGH_CLOSESELECTEDNOTFOCUSEDHOT, L"CLOSESELECTEDNOTFOCUSEDHOT"},
639 {LVP_GROUPHEADER, LVGH_CLOSEMIXEDSELECTION, L"CLOSEMIXEDSELECTION"},
640 {LVP_GROUPHEADER, LVGH_CLOSEMIXEDSELECTIONHOT, L"CLOSEMIXEDSELECTIONHOT"},
641 {LVP_GROUPHEADERLINE, 0, L"GROUPHEADERLINE"},
642 {LVP_GROUPHEADERLINE, LVGHL_OPEN, L"OPEN"},
643 {LVP_GROUPHEADERLINE, LVGHL_OPENHOT, L"OPENHOT"},
644 {LVP_GROUPHEADERLINE, LVGHL_OPENSELECTED, L"OPENSELECTED"},
645 {LVP_GROUPHEADERLINE, LVGHL_OPENSELECTEDHOT, L"OPENSELECTEDHOT"},
646 {LVP_GROUPHEADERLINE, LVGHL_OPENSELECTEDNOTFOCUSED, L"OPENSELECTEDNOTFOCUSED"},
647 {LVP_GROUPHEADERLINE, LVGHL_OPENSELECTEDNOTFOCUSEDHOT, L"OPENSELECTEDNOTFOCUSEDHOT"},
648 {LVP_GROUPHEADERLINE, LVGHL_OPENMIXEDSELECTION, L"OPENMIXEDSELECTION"},
649 {LVP_GROUPHEADERLINE, LVGHL_OPENMIXEDSELECTIONHOT, L"OPENMIXEDSELECTIONHOT"},
650 {LVP_GROUPHEADERLINE, LVGHL_CLOSE, L"CLOSE"},
651 {LVP_GROUPHEADERLINE, LVGHL_CLOSEHOT, L"CLOSEHOT"},
652 {LVP_GROUPHEADERLINE, LVGHL_CLOSESELECTED, L"CLOSESELECTED"},
653 {LVP_GROUPHEADERLINE, LVGHL_CLOSESELECTEDHOT, L"CLOSESELECTEDHOT"},
654 {LVP_GROUPHEADERLINE, LVGHL_CLOSESELECTEDNOTFOCUSED, L"CLOSESELECTEDNOTFOCUSED"},
655 {LVP_GROUPHEADERLINE, LVGHL_CLOSESELECTEDNOTFOCUSEDHOT, L"CLOSESELECTEDNOTFOCUSEDHOT"},
656 {LVP_GROUPHEADERLINE, LVGHL_CLOSEMIXEDSELECTION, L"CLOSEMIXEDSELECTION"},
657 {LVP_GROUPHEADERLINE, LVGHL_CLOSEMIXEDSELECTIONHOT, L"CLOSEMIXEDSELECTIONHOT"},
658 {LVP_EXPANDBUTTON, 0, L"EXPANDBUTTON"},
659 {LVP_EXPANDBUTTON, LVEB_NORMAL, L"NORMAL"},
660 {LVP_EXPANDBUTTON, LVEB_HOVER, L"HOVER"},
661 {LVP_EXPANDBUTTON, LVEB_PUSHED, L"PUSHED"},
662 {LVP_COLLAPSEBUTTON, 0, L"COLLAPSEBUTTON"},
663 {LVP_COLLAPSEBUTTON, LVCB_NORMAL, L"NORMAL"},
664 {LVP_COLLAPSEBUTTON, LVCB_HOVER, L"HOVER"},
665 {LVP_COLLAPSEBUTTON, LVCB_PUSHED, L"PUSHED"},
666 {LVP_COLUMNDETAIL, 0, L"COLUMNDETAIL"},
667 {0, 0, L""}
670 static const MSSTYLES_CLASS_MAP classMenu[] = {
671 {MENU_MENUITEM_TMSCHEMA, 0, L"MENUITEM"},
672 {MENU_MENUDROPDOWN_TMSCHEMA, 0, L"MENUDROPDOWN"},
673 {MENU_MENUBARITEM_TMSCHEMA, 0, L"MENUBARITEM"},
674 {MENU_MENUBARDROPDOWN_TMSCHEMA, 0, L"MENUBARDROPDOWN"},
675 {MENU_CHEVRON_TMSCHEMA, 0, L"CHEVRON"},
676 {MENU_SEPARATOR_TMSCHEMA, 0, L"SEPARATOR"},
677 {MENU_BARBACKGROUND, 0, L"BARBACKGROUND"},
678 {MENU_BARBACKGROUND, MB_ACTIVE, L"ACTIVE"},
679 {MENU_BARBACKGROUND, MB_INACTIVE, L"INACTIVE"},
680 {MENU_BARITEM, 0, L"BARITEM"},
681 {MENU_BARITEM, MBI_NORMAL, L"NORMAL"},
682 {MENU_BARITEM, MBI_HOT, L"HOT"},
683 {MENU_BARITEM, MBI_PUSHED, L"PUSHED"},
684 {MENU_BARITEM, MBI_DISABLED, L"DISABLED"},
685 {MENU_BARITEM, MBI_DISABLEDHOT, L"DISABLEDHOT"},
686 {MENU_BARITEM, MBI_DISABLEDPUSHED, L"DISABLEDPUSHED"},
687 {MENU_POPUPBACKGROUND, 0, L"POPUPBACKGROUND"},
688 {MENU_POPUPBORDERS, 0, L"POPUPBORDERS"},
689 {MENU_POPUPCHECK, 0, L"POPUPCHECK"},
690 {MENU_POPUPCHECK, MC_CHECKMARKNORMAL, L"CHECKMARKNORMAL"},
691 {MENU_POPUPCHECK, MC_CHECKMARKDISABLED, L"CHECKMARKDISABLED"},
692 {MENU_POPUPCHECK, MC_BULLETNORMAL, L"BULLETNORMAL"},
693 {MENU_POPUPCHECK, MC_BULLETDISABLED, L"BULLETDISABLED"},
694 {MENU_POPUPCHECKBACKGROUND, 0, L"POPUPCHECKBACKGROUND"},
695 {MENU_POPUPCHECKBACKGROUND, MCB_DISABLED, L"DISABLED"},
696 {MENU_POPUPCHECKBACKGROUND, MCB_NORMAL, L"NORMAL"},
697 {MENU_POPUPCHECKBACKGROUND, MCB_BITMAP, L"BITMAP"},
698 {MENU_POPUPGUTTER, 0, L"POPUPGUTTER"},
699 {MENU_POPUPITEM, 0, L"POPUPITEM"},
700 {MENU_POPUPITEM, MPI_NORMAL, L"NORMAL"},
701 {MENU_POPUPITEM, MPI_HOT, L"HOT"},
702 {MENU_POPUPITEM, MPI_DISABLED, L"DISABLED"},
703 {MENU_POPUPITEM, MPI_DISABLEDHOT, L"DISABLEDHOT"},
704 {MENU_POPUPSEPARATOR, 0, L"POPUPSEPARATOR"},
705 {MENU_POPUPSUBMENU, 0, L"POPUPSUBMENU"},
706 {MENU_POPUPSUBMENU, MSM_NORMAL, L"NORMAL"},
707 {MENU_POPUPSUBMENU, MSM_DISABLED, L"DISABLED"},
708 {MENU_SYSTEMCLOSE, 0, L"SYSTEMCLOSE"},
709 {MENU_SYSTEMCLOSE, MSYSC_NORMAL, L"NORMAL"},
710 {MENU_SYSTEMCLOSE, MSYSC_DISABLED, L"DISABLED"},
711 {MENU_SYSTEMMAXIMIZE, 0, L"SYSTEMMAXIMIZE"},
712 {MENU_SYSTEMMAXIMIZE, MSYSMX_NORMAL, L"NORMAL"},
713 {MENU_SYSTEMMAXIMIZE, MSYSMX_DISABLED, L"DISABLED"},
714 {MENU_SYSTEMMINIMIZE, 0, L"SYSTEMMINIMIZE"},
715 {MENU_SYSTEMMINIMIZE, MSYSMN_NORMAL, L"NORMAL"},
716 {MENU_SYSTEMMINIMIZE, MSYSMN_DISABLED, L"DISABLED"},
717 {MENU_SYSTEMRESTORE, 0, L"SYSTEMRESTORE"},
718 {MENU_SYSTEMRESTORE, MSYSR_NORMAL, L"NORMAL"},
719 {MENU_SYSTEMRESTORE, MSYSR_DISABLED, L"DISABLED"},
720 {0, 0, L""}
723 static const MSSTYLES_CLASS_MAP classMenuband[] = {
724 {MDP_NEWAPPBUTTON, 0, L"NEWAPPBUTTON"},
725 {MDP_NEWAPPBUTTON, MDS_NORMAL, L"NORMAL"},
726 {MDP_NEWAPPBUTTON, MDS_HOT, L"HOT"},
727 {MDP_NEWAPPBUTTON, MDS_PRESSED, L"PRESSED"},
728 {MDP_NEWAPPBUTTON, MDS_DISABLED, L"DISABLED"},
729 {MDP_NEWAPPBUTTON, MDS_CHECKED, L"CHECKED"},
730 {MDP_NEWAPPBUTTON, MDS_HOTCHECKED, L"HOTCHECKED"},
731 {MDP_SEPERATOR, 0, L"SEPERATOR"},
732 {0, 0, L""}
735 static const MSSTYLES_CLASS_MAP classNavigation[] = {
736 {NAV_BACKBUTTON, 0, L"BACKBUTTON"},
737 {NAV_BACKBUTTON, NAV_BB_NORMAL, L"NORMAL"},
738 {NAV_BACKBUTTON, NAV_BB_HOT, L"HOT"},
739 {NAV_BACKBUTTON, NAV_BB_PRESSED, L"PRESSED"},
740 {NAV_BACKBUTTON, NAV_BB_DISABLED, L"DISABLED"},
741 {NAV_FORWARDBUTTON, 0, L"FORWARDBUTTON"},
742 {NAV_FORWARDBUTTON, NAV_FB_NORMAL, L"NORMAL"},
743 {NAV_FORWARDBUTTON, NAV_FB_HOT, L"HOT"},
744 {NAV_FORWARDBUTTON, NAV_FB_PRESSED, L"PRESSED"},
745 {NAV_FORWARDBUTTON, NAV_FB_DISABLED, L"DISABLED"},
746 {NAV_MENUBUTTON, 0, L"MENUBUTTON"},
747 {NAV_MENUBUTTON, NAV_MB_NORMAL, L"NORMAL"},
748 {NAV_MENUBUTTON, NAV_MB_HOT, L"HOT"},
749 {NAV_MENUBUTTON, NAV_MB_PRESSED, L"PRESSED"},
750 {NAV_MENUBUTTON, NAV_MB_DISABLED, L"DISABLED"},
751 {0, 0, L""}
754 static const MSSTYLES_CLASS_MAP classPage[] = {
755 {PGRP_UP, 0, L"UP"},
756 {PGRP_UP, UPS_NORMAL, L"NORMAL"},
757 {PGRP_UP, UPS_HOT, L"HOT"},
758 {PGRP_UP, UPS_PRESSED, L"PRESSED"},
759 {PGRP_UP, UPS_DISABLED, L"DISABLED"},
760 {PGRP_DOWN, 0, L"DOWN"},
761 {PGRP_DOWN, DNS_NORMAL, L"NORMAL"},
762 {PGRP_DOWN, DNS_HOT, L"HOT"},
763 {PGRP_DOWN, DNS_PRESSED, L"PRESSED"},
764 {PGRP_DOWN, DNS_DISABLED, L"DISABLED"},
765 {PGRP_UPHORZ, 0, L"UPHORZ"},
766 {PGRP_UPHORZ, UPHZS_NORMAL, L"NORMAL"},
767 {PGRP_UPHORZ, UPHZS_HOT, L"HOT"},
768 {PGRP_UPHORZ, UPHZS_PRESSED, L"PRESSED"},
769 {PGRP_UPHORZ, UPHZS_DISABLED, L"DISABLED"},
770 {PGRP_DOWNHORZ, 0, L"DOWNHORZ"},
771 {PGRP_DOWNHORZ, DNHZS_NORMAL, L"NORMAL"},
772 {PGRP_DOWNHORZ, DNHZS_HOT, L"HOT"},
773 {PGRP_DOWNHORZ, DNHZS_PRESSED, L"PRESSED"},
774 {PGRP_DOWNHORZ, DNHZS_DISABLED, L"DISABLED"},
775 {0, 0, L""}
778 static const MSSTYLES_CLASS_MAP classProgress[] = {
779 {PP_BAR, 0, L"BAR"},
780 {PP_BARVERT, 0, L"BARVERT"},
781 {PP_CHUNK, 0, L"CHUNK"},
782 {PP_CHUNKVERT, 0, L"CHUNKVERT"},
783 {PP_FILL, 0, L"FILL"},
784 {PP_FILL, PBFS_NORMAL, L"NORMAL"},
785 {PP_FILL, PBFS_ERROR, L"ERROR"},
786 {PP_FILL, PBFS_PAUSED, L"PAUSED"},
787 {PP_FILL, PBFS_PARTIAL, L"PARTIAL"},
788 {PP_FILLVERT, 0, L"FILLVERT"},
789 {PP_FILLVERT, PBFVS_NORMAL, L"NORMAL"},
790 {PP_FILLVERT, PBFVS_ERROR, L"ERROR"},
791 {PP_FILLVERT, PBFVS_PAUSED, L"PAUSED"},
792 {PP_FILLVERT, PBFVS_PARTIAL, L"PARTIAL"},
793 {PP_PULSEOVERLAY, 0, L"PULSEOVERLAY"},
794 {PP_MOVEOVERLAY, 0, L"MOVEOVERLAY"},
795 {PP_PULSEOVERLAYVERT, 0, L"PULSEOVERLAYVERT"},
796 {PP_MOVEOVERLAYVERT, 0, L"MOVEOVERLAYVERT"},
797 {PP_TRANSPARENTBAR, 0, L"TRANSPARENTBAR"},
798 {PP_TRANSPARENTBAR, PBBS_NORMAL, L"NORMAL"},
799 {PP_TRANSPARENTBAR, PBBS_PARTIAL, L"PARTIAL"},
800 {PP_TRANSPARENTBARVERT, 0, L"TRANSPARENTBARVERT"},
801 {PP_TRANSPARENTBARVERT, PBBVS_NORMAL, L"NORMAL"},
802 {PP_TRANSPARENTBARVERT, PBBVS_PARTIAL, L"PARTIAL"},
803 {0, 0, L""}
806 static const MSSTYLES_CLASS_MAP classRebar[] = {
807 {RP_GRIPPER, 0, L"GRIPPER"},
808 {RP_GRIPPERVERT, 0, L"GRIPPERVERT"},
809 {RP_BAND, 0, L"BAND"},
810 {RP_CHEVRON, 0, L"CHEVRON"},
811 {RP_CHEVRON, CHEVS_NORMAL, L"NORMAL"},
812 {RP_CHEVRON, CHEVS_HOT, L"HOT"},
813 {RP_CHEVRON, CHEVS_PRESSED, L"PRESSED"},
814 {RP_CHEVRONVERT, 0, L"CHEVRONVERT"},
815 {RP_CHEVRONVERT, CHEVSV_NORMAL, L"NORMAL"},
816 {RP_CHEVRONVERT, CHEVSV_HOT, L"HOT"},
817 {RP_CHEVRONVERT, CHEVSV_PRESSED, L"PRESSED"},
818 {RP_BACKGROUND, 0, L"BACKGROUND"},
819 {RP_SPLITTER, 0, L"SPLITTER"},
820 {RP_SPLITTER, SPLITS_NORMAL, L"NORMAL"},
821 {RP_SPLITTER, SPLITS_HOT, L"HOT"},
822 {RP_SPLITTER, SPLITS_PRESSED, L"PRESSED"},
823 {RP_SPLITTERVERT, 0, L"SPLITTERVERT"},
824 {RP_SPLITTERVERT, SPLITSV_NORMAL, L"NORMAL"},
825 {RP_SPLITTERVERT, SPLITSV_HOT, L"HOT"},
826 {RP_SPLITTERVERT, SPLITSV_PRESSED, L"PRESSED"},
827 {0, 0, L""}
830 static const MSSTYLES_CLASS_MAP classScrollbar[] = {
831 {SBP_ARROWBTN, 0, L"ARROWBTN"},
832 {SBP_ARROWBTN, ABS_UPNORMAL, L"UPNORMAL"},
833 {SBP_ARROWBTN, ABS_UPHOT, L"UPHOT"},
834 {SBP_ARROWBTN, ABS_UPPRESSED, L"UPPRESSED"},
835 {SBP_ARROWBTN, ABS_UPDISABLED, L"UPDISABLED"},
836 {SBP_ARROWBTN, ABS_DOWNNORMAL, L"DOWNNORMAL"},
837 {SBP_ARROWBTN, ABS_DOWNHOT, L"DOWNHOT"},
838 {SBP_ARROWBTN, ABS_DOWNPRESSED, L"DOWNPRESSED"},
839 {SBP_ARROWBTN, ABS_DOWNDISABLED, L"DOWNDISABLED"},
840 {SBP_ARROWBTN, ABS_LEFTNORMAL, L"LEFTNORMAL"},
841 {SBP_ARROWBTN, ABS_LEFTHOT, L"LEFTHOT"},
842 {SBP_ARROWBTN, ABS_LEFTPRESSED, L"LEFTPRESSED"},
843 {SBP_ARROWBTN, ABS_LEFTDISABLED, L"LEFTDISABLED"},
844 {SBP_ARROWBTN, ABS_RIGHTNORMAL, L"RIGHTNORMAL"},
845 {SBP_ARROWBTN, ABS_RIGHTHOT, L"RIGHTHOT"},
846 {SBP_ARROWBTN, ABS_RIGHTPRESSED, L"RIGHTPRESSED"},
847 {SBP_ARROWBTN, ABS_RIGHTDISABLED, L"RIGHTDISABLED"},
848 {SBP_ARROWBTN, ABS_UPHOVER, L"UPHOVER"},
849 {SBP_ARROWBTN, ABS_DOWNHOVER, L"DOWNHOVER"},
850 {SBP_ARROWBTN, ABS_LEFTHOVER, L"LEFTHOVER"},
851 {SBP_ARROWBTN, ABS_RIGHTHOVER, L"RIGHTHOVER"},
852 {SBP_THUMBBTNHORZ, 0, L"THUMBBTNHORZ"},
853 {SBP_THUMBBTNHORZ, SCRBS_NORMAL, L"NORMAL"},
854 {SBP_THUMBBTNHORZ, SCRBS_HOT, L"HOT"},
855 {SBP_THUMBBTNHORZ, SCRBS_PRESSED, L"PRESSED"},
856 {SBP_THUMBBTNHORZ, SCRBS_DISABLED, L"DISABLED"},
857 {SBP_THUMBBTNHORZ, SCRBS_HOVER, L"HOVER"},
858 {SBP_THUMBBTNVERT, 0, L"THUMBBTNVERT"},
859 {SBP_THUMBBTNVERT, SCRBS_NORMAL, L"NORMAL"},
860 {SBP_THUMBBTNVERT, SCRBS_HOT, L"HOT"},
861 {SBP_THUMBBTNVERT, SCRBS_PRESSED, L"PRESSED"},
862 {SBP_THUMBBTNVERT, SCRBS_DISABLED, L"DISABLED"},
863 {SBP_THUMBBTNVERT, SCRBS_HOVER, L"HOVER"},
864 {SBP_LOWERTRACKHORZ, 0, L"LOWERTRACKHORZ"},
865 {SBP_LOWERTRACKHORZ, SCRBS_NORMAL, L"NORMAL"},
866 {SBP_LOWERTRACKHORZ, SCRBS_HOT, L"HOT"},
867 {SBP_LOWERTRACKHORZ, SCRBS_PRESSED, L"PRESSED"},
868 {SBP_LOWERTRACKHORZ, SCRBS_DISABLED, L"DISABLED"},
869 {SBP_LOWERTRACKHORZ, SCRBS_HOVER, L"HOVER"},
870 {SBP_UPPERTRACKHORZ, 0, L"UPPERTRACKHORZ"},
871 {SBP_UPPERTRACKHORZ, SCRBS_NORMAL, L"NORMAL"},
872 {SBP_UPPERTRACKHORZ, SCRBS_HOT, L"HOT"},
873 {SBP_UPPERTRACKHORZ, SCRBS_PRESSED, L"PRESSED"},
874 {SBP_UPPERTRACKHORZ, SCRBS_DISABLED, L"DISABLED"},
875 {SBP_UPPERTRACKHORZ, SCRBS_HOVER, L"HOVER"},
876 {SBP_LOWERTRACKVERT, 0, L"LOWERTRACKVERT"},
877 {SBP_LOWERTRACKVERT, SCRBS_NORMAL, L"NORMAL"},
878 {SBP_LOWERTRACKVERT, SCRBS_HOT, L"HOT"},
879 {SBP_LOWERTRACKVERT, SCRBS_PRESSED, L"PRESSED"},
880 {SBP_LOWERTRACKVERT, SCRBS_DISABLED, L"DISABLED"},
881 {SBP_LOWERTRACKVERT, SCRBS_HOVER, L"HOVER"},
882 {SBP_UPPERTRACKVERT, 0, L"UPPERTRACKVERT"},
883 {SBP_UPPERTRACKVERT, SCRBS_NORMAL, L"NORMAL"},
884 {SBP_UPPERTRACKVERT, SCRBS_HOT, L"HOT"},
885 {SBP_UPPERTRACKVERT, SCRBS_PRESSED, L"PRESSED"},
886 {SBP_UPPERTRACKVERT, SCRBS_DISABLED, L"DISABLED"},
887 {SBP_UPPERTRACKVERT, SCRBS_HOVER, L"HOVER"},
888 {SBP_GRIPPERHORZ, 0, L"GRIPPERHORZ"},
889 {SBP_GRIPPERHORZ, SCRBS_NORMAL, L"NORMAL"},
890 {SBP_GRIPPERHORZ, SCRBS_HOT, L"HOT"},
891 {SBP_GRIPPERHORZ, SCRBS_PRESSED, L"PRESSED"},
892 {SBP_GRIPPERHORZ, SCRBS_DISABLED, L"DISABLED"},
893 {SBP_GRIPPERHORZ, SCRBS_HOVER, L"HOVER"},
894 {SBP_GRIPPERVERT, 0, L"GRIPPERVERT"},
895 {SBP_GRIPPERVERT, SCRBS_NORMAL, L"NORMAL"},
896 {SBP_GRIPPERVERT, SCRBS_HOT, L"HOT"},
897 {SBP_GRIPPERVERT, SCRBS_PRESSED, L"PRESSED"},
898 {SBP_GRIPPERVERT, SCRBS_DISABLED, L"DISABLED"},
899 {SBP_GRIPPERVERT, SCRBS_HOVER, L"HOVER"},
900 {SBP_SIZEBOX, 0, L"SIZEBOX"},
901 {SBP_SIZEBOX, SZB_RIGHTALIGN, L"RIGHTALIGN"},
902 {SBP_SIZEBOX, SZB_LEFTALIGN, L"LEFTALIGN"},
903 {SBP_SIZEBOX, SZB_TOPRIGHTALIGN, L"TOPRIGHTALIGN"},
904 {SBP_SIZEBOX, SZB_TOPLEFTALIGN, L"TOPLEFTALIGN"},
905 {SBP_SIZEBOX, SZB_HALFBOTTOMRIGHTALIGN, L"HALFBOTTOMRIGHTALIGN"},
906 {SBP_SIZEBOX, SZB_HALFBOTTOMLEFTALIGN, L"HALFBOTTOMLEFTALIGN"},
907 {SBP_SIZEBOX, SZB_HALFTOPRIGHTALIGN, L"HALFTOPRIGHTALIGN"},
908 {SBP_SIZEBOX, SZB_HALFTOPLEFTALIGN, L"HALFTOPLEFTALIGN"},
909 {SBP_SIZEBOXBKGND, 0, L"SIZEBOXBKGND"},
910 {0, 0, L""}
913 static const MSSTYLES_CLASS_MAP classSpin[] = {
914 {SPNP_UP, 0, L"UP"},
915 {SPNP_UP, UPS_NORMAL, L"NORMAL"},
916 {SPNP_UP, UPS_HOT, L"HOT"},
917 {SPNP_UP, UPS_PRESSED, L"PRESSED"},
918 {SPNP_UP, UPS_DISABLED, L"DISABLED"},
919 {SPNP_DOWN, 0, L"DOWN"},
920 {SPNP_DOWN, DNS_NORMAL, L"NORMAL"},
921 {SPNP_DOWN, DNS_HOT, L"HOT"},
922 {SPNP_DOWN, DNS_PRESSED, L"PRESSED"},
923 {SPNP_DOWN, DNS_DISABLED, L"DISABLED"},
924 {SPNP_UPHORZ, 0, L"UPHORZ"},
925 {SPNP_UPHORZ, UPHZS_NORMAL, L"NORMAL"},
926 {SPNP_UPHORZ, UPHZS_HOT, L"HOT"},
927 {SPNP_UPHORZ, UPHZS_PRESSED, L"PRESSED"},
928 {SPNP_UPHORZ, UPHZS_DISABLED, L"DISABLED"},
929 {SPNP_DOWNHORZ, 0, L"DOWNHORZ"},
930 {SPNP_DOWNHORZ, DNHZS_NORMAL, L"NORMAL"},
931 {SPNP_DOWNHORZ, DNHZS_HOT, L"HOT"},
932 {SPNP_DOWNHORZ, DNHZS_PRESSED, L"PRESSED"},
933 {SPNP_DOWNHORZ, DNHZS_DISABLED, L"DISABLED"},
934 {0, 0, L""}
937 static const MSSTYLES_CLASS_MAP classStartpanel[] = {
938 {SPP_USERPANE, 0, L"USERPANE"},
939 {SPP_MOREPROGRAMS, 0, L"MOREPROGRAMS"},
940 {SPP_MOREPROGRAMSARROW, 0, L"MOREPROGRAMSARROW"},
941 {SPP_MOREPROGRAMSARROW, SPS_NORMAL, L"NORMAL"},
942 {SPP_MOREPROGRAMSARROW, SPS_HOT, L"HOT"},
943 {SPP_MOREPROGRAMSARROW, SPS_PRESSED, L"PRESSED"},
944 {SPP_PROGLIST, 0, L"PROGLIST"},
945 {SPP_PROGLISTSEPARATOR, 0, L"PROGLISTSEPARATOR"},
946 {SPP_PLACESLIST, 0, L"PLACESLIST"},
947 {SPP_PLACESLISTSEPARATOR, 0, L"PLACESLISTSEPARATOR"},
948 {SPP_LOGOFF, 0, L"LOGOFF"},
949 {SPP_LOGOFFBUTTONS, 0, L"LOGOFFBUTTONS"},
950 {SPP_LOGOFFBUTTONS, SPLS_NORMAL, L"NORMAL"},
951 {SPP_LOGOFFBUTTONS, SPLS_HOT, L"HOT"},
952 {SPP_LOGOFFBUTTONS, SPLS_PRESSED, L"PRESSED"},
953 {SPP_USERPICTURE, 0, L"USERPICTURE"},
954 {SPP_PREVIEW, 0, L"PREVIEW"},
955 {SPP_MOREPROGRAMSTAB, 0, L"MOREPROGRAMSTAB"},
956 {SPP_MOREPROGRAMSTAB, SPMPT_NORMAL, L"NORMAL"},
957 {SPP_MOREPROGRAMSTAB, SPMPT_HOT, L"HOT"},
958 {SPP_MOREPROGRAMSTAB, SPMPT_SELECTED, L"SELECTED"},
959 {SPP_MOREPROGRAMSTAB, SPMPT_DISABLED, L"DISABLED"},
960 {SPP_MOREPROGRAMSTAB, SPMPT_FOCUSED, L"FOCUSED"},
961 {SPP_NSCHOST, 0, L"NSCHOST"},
962 {SPP_SOFTWAREEXPLORER, 0, L"SOFTWAREEXPLORER"},
963 {SPP_SOFTWAREEXPLORER, SPSE_NORMAL, L"NORMAL"},
964 {SPP_SOFTWAREEXPLORER, SPSE_HOT, L"HOT"},
965 {SPP_SOFTWAREEXPLORER, SPSE_SELECTED, L"SELECTED"},
966 {SPP_SOFTWAREEXPLORER, SPSE_DISABLED, L"DISABLED"},
967 {SPP_SOFTWAREEXPLORER, SPSE_FOCUSED, L"FOCUSED"},
968 {SPP_OPENBOX, 0, L"OPENBOX"},
969 {SPP_OPENBOX, SPOB_NORMAL, L"NORMAL"},
970 {SPP_OPENBOX, SPOB_HOT, L"HOT"},
971 {SPP_OPENBOX, SPOB_SELECTED, L"SELECTED"},
972 {SPP_OPENBOX, SPOB_DISABLED, L"DISABLED"},
973 {SPP_OPENBOX, SPOB_FOCUSED, L"FOCUSED"},
974 {SPP_SEARCHVIEW, 0, L"SEARCHVIEW"},
975 {SPP_MOREPROGRAMSARROWBACK, 0, L"MOREPROGRAMSARROWBACK"},
976 {SPP_MOREPROGRAMSARROWBACK, SPSB_NORMAL, L"NORMAL"},
977 {SPP_MOREPROGRAMSARROWBACK, SPSB_HOT, L"HOT"},
978 {SPP_MOREPROGRAMSARROWBACK, SPSB_PRESSED, L"PRESSED"},
979 {SPP_TOPMATCH, 0, L"TOPMATCH"},
980 {SPP_LOGOFFSPLITBUTTONDROPDOWN, 0, L"LOGOFFSPLITBUTTONDROPDOWN"},
981 {SPP_LOGOFFSPLITBUTTONDROPDOWN, SPLS_NORMAL, L"NORMAL"},
982 {SPP_LOGOFFSPLITBUTTONDROPDOWN, SPLS_HOT, L"HOT"},
983 {SPP_LOGOFFSPLITBUTTONDROPDOWN, SPLS_PRESSED, L"PRESSED"},
984 {0, 0, L""}
987 static const MSSTYLES_CLASS_MAP classStatus[] = {
988 {SP_PANE, 0, L"PANE"},
989 {SP_GRIPPERPANE, 0, L"GRIPPERPANE"},
990 {SP_GRIPPER, 0, L"GRIPPER"},
991 {0, 0, L""}
994 static const MSSTYLES_CLASS_MAP classTab[] = {
995 {TABP_TABITEM, 0, L"TABITEM"},
996 {TABP_TABITEM, TIS_NORMAL, L"NORMAL"},
997 {TABP_TABITEM, TIS_HOT, L"HOT"},
998 {TABP_TABITEM, TIS_SELECTED, L"SELECTED"},
999 {TABP_TABITEM, TIS_DISABLED, L"DISABLED"},
1000 {TABP_TABITEM, TIS_FOCUSED, L"FOCUSED"},
1001 {TABP_TABITEMLEFTEDGE, 0, L"TABITEMLEFTEDGE"},
1002 {TABP_TABITEMLEFTEDGE, TILES_NORMAL, L"NORMAL"},
1003 {TABP_TABITEMLEFTEDGE, TILES_HOT, L"HOT"},
1004 {TABP_TABITEMLEFTEDGE, TILES_SELECTED, L"SELECTED"},
1005 {TABP_TABITEMLEFTEDGE, TILES_DISABLED, L"DISABLED"},
1006 {TABP_TABITEMLEFTEDGE, TILES_FOCUSED, L"FOCUSED"},
1007 {TABP_TABITEMRIGHTEDGE, 0, L"TABITEMRIGHTEDGE"},
1008 {TABP_TABITEMRIGHTEDGE, TIRES_NORMAL, L"NORMAL"},
1009 {TABP_TABITEMRIGHTEDGE, TIRES_HOT, L"HOT"},
1010 {TABP_TABITEMRIGHTEDGE, TIRES_SELECTED, L"SELECTED"},
1011 {TABP_TABITEMRIGHTEDGE, TIRES_DISABLED, L"DISABLED"},
1012 {TABP_TABITEMRIGHTEDGE, TIRES_FOCUSED, L"FOCUSED"},
1013 {TABP_TABITEMBOTHEDGE, 0, L"TABITEMBOTHEDGE"},
1014 {TABP_TABITEMBOTHEDGE, TIBES_NORMAL, L"NORMAL"},
1015 {TABP_TABITEMBOTHEDGE, TIBES_HOT, L"HOT"},
1016 {TABP_TABITEMBOTHEDGE, TIBES_SELECTED, L"SELECTED"},
1017 {TABP_TABITEMBOTHEDGE, TIBES_DISABLED, L"DISABLED"},
1018 {TABP_TABITEMBOTHEDGE, TIBES_FOCUSED, L"FOCUSED"},
1019 {TABP_TOPTABITEM, 0, L"TOPTABITEM"},
1020 {TABP_TOPTABITEM, TTIS_NORMAL, L"NORMAL"},
1021 {TABP_TOPTABITEM, TTIS_HOT, L"HOT"},
1022 {TABP_TOPTABITEM, TTIS_SELECTED, L"SELECTED"},
1023 {TABP_TOPTABITEM, TTIS_DISABLED, L"DISABLED"},
1024 {TABP_TOPTABITEM, TTIS_FOCUSED, L"FOCUSED"},
1025 {TABP_TOPTABITEMLEFTEDGE, 0, L"TOPTABITEMLEFTEDGE"},
1026 {TABP_TOPTABITEMLEFTEDGE, TTILES_NORMAL, L"NORMAL"},
1027 {TABP_TOPTABITEMLEFTEDGE, TTILES_HOT, L"HOT"},
1028 {TABP_TOPTABITEMLEFTEDGE, TTILES_SELECTED, L"SELECTED"},
1029 {TABP_TOPTABITEMLEFTEDGE, TTILES_DISABLED, L"DISABLED"},
1030 {TABP_TOPTABITEMLEFTEDGE, TTILES_FOCUSED, L"FOCUSED"},
1031 {TABP_TOPTABITEMRIGHTEDGE, 0, L"TOPTABITEMRIGHTEDGE"},
1032 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_NORMAL, L"NORMAL"},
1033 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_HOT, L"HOT"},
1034 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_SELECTED, L"SELECTED"},
1035 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_DISABLED, L"DISABLED"},
1036 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_FOCUSED, L"FOCUSED"},
1037 {TABP_TOPTABITEMBOTHEDGE, 0, L"TOPTABITEMBOTHEDGE"},
1038 {TABP_TOPTABITEMBOTHEDGE, TTIBES_NORMAL, L"NORMAL"},
1039 {TABP_TOPTABITEMBOTHEDGE, TTIBES_HOT, L"HOT"},
1040 {TABP_TOPTABITEMBOTHEDGE, TTIBES_SELECTED, L"SELECTED"},
1041 {TABP_TOPTABITEMBOTHEDGE, TTIBES_DISABLED, L"DISABLED"},
1042 {TABP_TOPTABITEMBOTHEDGE, TTIBES_FOCUSED, L"FOCUSED"},
1043 {TABP_PANE, 0, L"PANE"},
1044 {TABP_BODY, 0, L"BODY"},
1045 {TABP_AEROWIZARDBODY, 0, L"AEROWIZARDBODY"},
1046 {0, 0, L""}
1049 static const MSSTYLES_CLASS_MAP classTaskband[] = {
1050 {TDP_GROUPCOUNT, 0, L"GROUPCOUNT"},
1051 {TDP_FLASHBUTTON, 0, L"FLASHBUTTON"},
1052 {TDP_FLASHBUTTONGROUPMENU, 0, L"FLASHBUTTONGROUPMENU"},
1053 {0, 0, L""}
1056 static const MSSTYLES_CLASS_MAP classTaskbar[] = {
1057 {TBP_BACKGROUNDBOTTOM, 0, L"BACKGROUNDBOTTOM"},
1058 {TBP_BACKGROUNDRIGHT, 0, L"BACKGROUNDRIGHT"},
1059 {TBP_BACKGROUNDTOP, 0, L"BACKGROUNDTOP"},
1060 {TBP_BACKGROUNDLEFT, 0, L"BACKGROUNDLEFT"},
1061 {TBP_SIZINGBARBOTTOM, 0, L"SIZINGBARBOTTOM"},
1062 {TBP_SIZINGBARRIGHT, 0, L"SIZINGBARRIGHT"},
1063 {TBP_SIZINGBARTOP, 0, L"SIZINGBARTOP"},
1064 {TBP_SIZINGBARLEFT, 0, L"SIZINGBARLEFT"},
1065 {0, 0, L""}
1068 static const MSSTYLES_CLASS_MAP classTaskdialog[] = {
1069 {TDLG_PRIMARYPANEL, 0, L"PRIMARYPANEL"},
1070 {TDLG_MAININSTRUCTIONPANE, 0, L"MAININSTRUCTIONPANE"},
1071 {TDLG_MAINICON, 0, L"MAINICON"},
1072 {TDLG_CONTENTPANE, 0, L"CONTENTPANE"},
1073 {TDLG_CONTENTICON, 0, L"CONTENTICON"},
1074 {TDLG_EXPANDEDCONTENT, 0, L"EXPANDEDCONTENT"},
1075 {TDLG_COMMANDLINKPANE, 0, L"COMMANDLINKPANE"},
1076 {TDLG_SECONDARYPANEL, 0, L"SECONDARYPANEL"},
1077 {TDLG_CONTROLPANE, 0, L"CONTROLPANE"},
1078 {TDLG_CONTROLPANE, TDLGCPS_STANDALONE, L"STANDALONE"},
1079 {TDLG_BUTTONSECTION, 0, L"BUTTONSECTION"},
1080 {TDLG_BUTTONWRAPPER, 0, L"BUTTONWRAPPER"},
1081 {TDLG_EXPANDOTEXT, 0, L"EXPANDOTEXT"},
1082 {TDLG_EXPANDOBUTTON, 0, L"EXPANDOBUTTON"},
1083 {TDLG_EXPANDOBUTTON, TDLGEBS_NORMAL, L"NORMAL"},
1084 {TDLG_EXPANDOBUTTON, TDLGEBS_HOVER, L"HOVER"},
1085 {TDLG_EXPANDOBUTTON, TDLGEBS_PRESSED, L"PRESSED"},
1086 {TDLG_EXPANDOBUTTON, TDLGEBS_EXPANDEDNORMAL, L"EXPANDEDNORMAL"},
1087 {TDLG_EXPANDOBUTTON, TDLGEBS_EXPANDEDHOVER, L"EXPANDEDHOVER"},
1088 {TDLG_EXPANDOBUTTON, TDLGEBS_EXPANDEDPRESSED, L"EXPANDEDPRESSED"},
1089 {TDLG_EXPANDOBUTTON, TDLGEBS_NORMALDISABLED, L"NORMALDISABLED"},
1090 {TDLG_EXPANDOBUTTON, TDLGEBS_EXPANDEDDISABLED, L"EXPANDEDDISABLED"},
1091 {TDLG_VERIFICATIONTEXT, 0, L"VERIFICATIONTEXT"},
1092 {TDLG_FOOTNOTEPANE, 0, L"FOOTNOTEPANE"},
1093 {TDLG_FOOTNOTEAREA, 0, L"FOOTNOTEAREA"},
1094 {TDLG_FOOTNOTESEPARATOR, 0, L"FOOTNOTESEPARATOR"},
1095 {TDLG_EXPANDEDFOOTERAREA, 0, L"EXPANDEDFOOTERAREA"},
1096 {TDLG_PROGRESSBAR, 0, L"PROGRESSBAR"},
1097 {TDLG_IMAGEALIGNMENT, 0, L"IMAGEALIGNMENT"},
1098 {TDLG_RADIOBUTTONPANE, 0, L"RADIOBUTTONPANE"},
1099 {0, 0, L""}
1102 static const MSSTYLES_CLASS_MAP classToolbar[] = {
1103 {TP_BUTTON, 0, L"BUTTON"},
1104 {TP_BUTTON, TS_NORMAL, L"NORMAL"},
1105 {TP_BUTTON, TS_HOT, L"HOT"},
1106 {TP_BUTTON, TS_PRESSED, L"PRESSED"},
1107 {TP_BUTTON, TS_DISABLED, L"DISABLED"},
1108 {TP_BUTTON, TS_CHECKED, L"CHECKED"},
1109 {TP_BUTTON, TS_HOTCHECKED, L"HOTCHECKED"},
1110 {TP_BUTTON, TS_NEARHOT, L"NEARHOT"},
1111 {TP_BUTTON, TS_OTHERSIDEHOT, L"OTHERSIDEHOT"},
1112 {TP_DROPDOWNBUTTON, 0, L"DROPDOWNBUTTON"},
1113 {TP_DROPDOWNBUTTON, TS_NORMAL, L"NORMAL"},
1114 {TP_DROPDOWNBUTTON, TS_HOT, L"HOT"},
1115 {TP_DROPDOWNBUTTON, TS_PRESSED, L"PRESSED"},
1116 {TP_DROPDOWNBUTTON, TS_DISABLED, L"DISABLED"},
1117 {TP_DROPDOWNBUTTON, TS_CHECKED, L"CHECKED"},
1118 {TP_DROPDOWNBUTTON, TS_HOTCHECKED, L"HOTCHECKED"},
1119 {TP_DROPDOWNBUTTON, TS_NEARHOT, L"NEARHOT"},
1120 {TP_DROPDOWNBUTTON, TS_OTHERSIDEHOT, L"OTHERSIDEHOT"},
1121 {TP_SPLITBUTTON, 0, L"SPLITBUTTON"},
1122 {TP_SPLITBUTTON, TS_NORMAL, L"NORMAL"},
1123 {TP_SPLITBUTTON, TS_HOT, L"HOT"},
1124 {TP_SPLITBUTTON, TS_PRESSED, L"PRESSED"},
1125 {TP_SPLITBUTTON, TS_DISABLED, L"DISABLED"},
1126 {TP_SPLITBUTTON, TS_CHECKED, L"CHECKED"},
1127 {TP_SPLITBUTTON, TS_HOTCHECKED, L"HOTCHECKED"},
1128 {TP_SPLITBUTTON, TS_NEARHOT, L"NEARHOT"},
1129 {TP_SPLITBUTTON, TS_OTHERSIDEHOT, L"OTHERSIDEHOT"},
1130 {TP_SPLITBUTTONDROPDOWN, 0, L"SPLITBUTTONDROPDOWN"},
1131 {TP_SPLITBUTTONDROPDOWN, TS_NORMAL, L"NORMAL"},
1132 {TP_SPLITBUTTONDROPDOWN, TS_HOT, L"HOT"},
1133 {TP_SPLITBUTTONDROPDOWN, TS_PRESSED, L"PRESSED"},
1134 {TP_SPLITBUTTONDROPDOWN, TS_DISABLED, L"DISABLED"},
1135 {TP_SPLITBUTTONDROPDOWN, TS_CHECKED, L"CHECKED"},
1136 {TP_SPLITBUTTONDROPDOWN, TS_HOTCHECKED, L"HOTCHECKED"},
1137 {TP_SPLITBUTTONDROPDOWN, TS_NEARHOT, L"NEARHOT"},
1138 {TP_SPLITBUTTONDROPDOWN, TS_OTHERSIDEHOT, L"OTHERSIDEHOT"},
1139 {TP_SEPARATOR, 0, L"SEPARATOR"},
1140 {TP_SEPARATOR, TS_NORMAL, L"NORMAL"},
1141 {TP_SEPARATOR, TS_HOT, L"HOT"},
1142 {TP_SEPARATOR, TS_PRESSED, L"PRESSED"},
1143 {TP_SEPARATOR, TS_DISABLED, L"DISABLED"},
1144 {TP_SEPARATOR, TS_CHECKED, L"CHECKED"},
1145 {TP_SEPARATOR, TS_HOTCHECKED, L"HOTCHECKED"},
1146 {TP_SEPARATOR, TS_NEARHOT, L"NEARHOT"},
1147 {TP_SEPARATOR, TS_OTHERSIDEHOT, L"OTHERSIDEHOT"},
1148 {TP_SEPARATORVERT, 0, L"SEPARATORVERT"},
1149 {TP_SEPARATORVERT, TS_NORMAL, L"NORMAL"},
1150 {TP_SEPARATORVERT, TS_HOT, L"HOT"},
1151 {TP_SEPARATORVERT, TS_PRESSED, L"PRESSED"},
1152 {TP_SEPARATORVERT, TS_DISABLED, L"DISABLED"},
1153 {TP_SEPARATORVERT, TS_CHECKED, L"CHECKED"},
1154 {TP_SEPARATORVERT, TS_HOTCHECKED, L"HOTCHECKED"},
1155 {TP_SEPARATORVERT, TS_NEARHOT, L"NEARHOT"},
1156 {TP_SEPARATORVERT, TS_OTHERSIDEHOT, L"OTHERSIDEHOT"},
1157 {TP_DROPDOWNBUTTONGLYPH, 0, L"DROPDOWNBUTTONGLYPH"},
1158 {TP_DROPDOWNBUTTONGLYPH, TS_NORMAL, L"NORMAL"},
1159 {TP_DROPDOWNBUTTONGLYPH, TS_HOT, L"HOT"},
1160 {TP_DROPDOWNBUTTONGLYPH, TS_PRESSED, L"PRESSED"},
1161 {TP_DROPDOWNBUTTONGLYPH, TS_DISABLED, L"DISABLED"},
1162 {TP_DROPDOWNBUTTONGLYPH, TS_CHECKED, L"CHECKED"},
1163 {TP_DROPDOWNBUTTONGLYPH, TS_HOTCHECKED, L"HOTCHECKED"},
1164 {TP_DROPDOWNBUTTONGLYPH, TS_NEARHOT, L"NEARHOT"},
1165 {TP_DROPDOWNBUTTONGLYPH, TS_OTHERSIDEHOT, L"OTHERSIDEHOT"},
1166 {0, 0, L""}
1169 static const MSSTYLES_CLASS_MAP classTooltip[] = {
1170 {TTP_STANDARD, 0, L"STANDARD"},
1171 {TTP_STANDARD, TTSS_NORMAL, L"NORMAL"},
1172 {TTP_STANDARD, TTSS_LINK, L"LINK"},
1173 {TTP_STANDARDTITLE, 0, L"STANDARDTITLE"},
1174 {TTP_STANDARDTITLE, TTSS_NORMAL, L"NORMAL"},
1175 {TTP_STANDARDTITLE, TTSS_LINK, L"LINK"},
1176 {TTP_BALLOON, 0, L"BALLOON"},
1177 {TTP_BALLOON, TTBS_NORMAL, L"NORMAL"},
1178 {TTP_BALLOON, TTBS_LINK, L"LINK"},
1179 {TTP_BALLOONTITLE, 0, L"BALLOONTITLE"},
1180 {TTP_BALLOONTITLE, TTBS_NORMAL, L"NORMAL"},
1181 {TTP_BALLOONTITLE, TTBS_LINK, L"LINK"},
1182 {TTP_CLOSE, 0, L"CLOSE"},
1183 {TTP_CLOSE, TTCS_NORMAL, L"NORMAL"},
1184 {TTP_CLOSE, TTCS_HOT, L"HOT"},
1185 {TTP_CLOSE, TTCS_PRESSED, L"PRESSED"},
1186 {TTP_BALLOONSTEM, 0, L"BALLOONSTEM"},
1187 {TTP_BALLOONSTEM, TTBSS_POINTINGUPLEFTWALL, L"POINTINGUPLEFTWALL"},
1188 {TTP_BALLOONSTEM, TTBSS_POINTINGUPCENTERED, L"POINTINGUPCENTERED"},
1189 {TTP_BALLOONSTEM, TTBSS_POINTINGUPRIGHTWALL, L"POINTINGUPRIGHTWALL"},
1190 {TTP_BALLOONSTEM, TTBSS_POINTINGDOWNRIGHTWALL, L"POINTINGDOWNRIGHTWALL"},
1191 {TTP_BALLOONSTEM, TTBSS_POINTINGDOWNCENTERED, L"POINTINGDOWNCENTERED"},
1192 {TTP_BALLOONSTEM, TTBSS_POINTINGDOWNLEFTWALL, L"POINTINGDOWNLEFTWALL"},
1193 {TTP_WRENCH, 0, L"WRENCH"},
1194 {TTP_WRENCH, TTWS_NORMAL, L"NORMAL"},
1195 {TTP_WRENCH, TTWS_HOT, L"HOT"},
1196 {TTP_WRENCH, TTWS_PRESSED, L"PRESSED"},
1197 {0, 0, L""}
1200 static const MSSTYLES_CLASS_MAP classTrackbar[] = {
1201 {TKP_TRACK, 0, L"TRACK"},
1202 {TKP_TRACK, TRS_NORMAL, L"NORMAL"},
1203 {TKP_TRACKVERT, 0, L"TRACKVERT"},
1204 {TKP_TRACKVERT, TRVS_NORMAL, L"NORMAL"},
1205 {TKP_THUMB, 0, L"THUMB"},
1206 {TKP_THUMB, TUS_NORMAL, L"NORMAL"},
1207 {TKP_THUMB, TUS_HOT, L"HOT"},
1208 {TKP_THUMB, TUS_PRESSED, L"PRESSED"},
1209 {TKP_THUMB, TUS_FOCUSED, L"FOCUSED"},
1210 {TKP_THUMB, TUS_DISABLED, L"DISABLED"},
1211 {TKP_THUMBBOTTOM, 0, L"THUMBBOTTOM"},
1212 {TKP_THUMBBOTTOM, TUBS_NORMAL, L"NORMAL"},
1213 {TKP_THUMBBOTTOM, TUBS_HOT, L"HOT"},
1214 {TKP_THUMBBOTTOM, TUBS_PRESSED, L"PRESSED"},
1215 {TKP_THUMBBOTTOM, TUBS_FOCUSED, L"FOCUSED"},
1216 {TKP_THUMBBOTTOM, TUBS_DISABLED, L"DISABLED"},
1217 {TKP_THUMBTOP, 0, L"THUMBTOP"},
1218 {TKP_THUMBTOP, TUTS_NORMAL, L"NORMAL"},
1219 {TKP_THUMBTOP, TUTS_HOT, L"HOT"},
1220 {TKP_THUMBTOP, TUTS_PRESSED, L"PRESSED"},
1221 {TKP_THUMBTOP, TUTS_FOCUSED, L"FOCUSED"},
1222 {TKP_THUMBTOP, TUTS_DISABLED, L"DISABLED"},
1223 {TKP_THUMBVERT, 0, L"THUMBVERT"},
1224 {TKP_THUMBVERT, TUVS_NORMAL, L"NORMAL"},
1225 {TKP_THUMBVERT, TUVS_HOT, L"HOT"},
1226 {TKP_THUMBVERT, TUVS_PRESSED, L"PRESSED"},
1227 {TKP_THUMBVERT, TUVS_FOCUSED, L"FOCUSED"},
1228 {TKP_THUMBVERT, TUVS_DISABLED, L"DISABLED"},
1229 {TKP_THUMBLEFT, 0, L"THUMBLEFT"},
1230 {TKP_THUMBLEFT, TUVLS_NORMAL, L"NORMAL"},
1231 {TKP_THUMBLEFT, TUVLS_HOT, L"HOT"},
1232 {TKP_THUMBLEFT, TUVLS_PRESSED, L"PRESSED"},
1233 {TKP_THUMBLEFT, TUVLS_FOCUSED, L"FOCUSED"},
1234 {TKP_THUMBLEFT, TUVLS_DISABLED, L"DISABLED"},
1235 {TKP_THUMBRIGHT, 0, L"THUMBRIGHT"},
1236 {TKP_THUMBRIGHT, TUVRS_NORMAL, L"NORMAL"},
1237 {TKP_THUMBRIGHT, TUVRS_HOT, L"HOT"},
1238 {TKP_THUMBRIGHT, TUVRS_PRESSED, L"PRESSED"},
1239 {TKP_THUMBRIGHT, TUVRS_FOCUSED, L"FOCUSED"},
1240 {TKP_THUMBRIGHT, TUVRS_DISABLED, L"DISABLED"},
1241 {TKP_TICS, 0, L"TICS"},
1242 {TKP_TICS, TSS_NORMAL, L"NORMAL"},
1243 {TKP_TICSVERT, 0, L"TICSVERT"},
1244 {TKP_TICSVERT, TSVS_NORMAL, L"NORMAL"},
1245 {0, 0, L""}
1248 static const MSSTYLES_CLASS_MAP classTraynotify[] = {
1249 {TNP_BACKGROUND, 0, L"BACKGROUND"},
1250 {TNP_ANIMBACKGROUND, 0, L"ANIMBACKGROUND"},
1251 {0, 0, L""}
1254 static const MSSTYLES_CLASS_MAP classTreeview[] = {
1255 {TVP_TREEITEM, 0, L"TREEITEM"},
1256 {TVP_TREEITEM, TREIS_NORMAL, L"NORMAL"},
1257 {TVP_TREEITEM, TREIS_HOT, L"HOT"},
1258 {TVP_TREEITEM, TREIS_SELECTED, L"SELECTED"},
1259 {TVP_TREEITEM, TREIS_DISABLED, L"DISABLED"},
1260 {TVP_TREEITEM, TREIS_SELECTEDNOTFOCUS, L"SELECTEDNOTFOCUS"},
1261 {TVP_TREEITEM, TREIS_HOTSELECTED, L"HOTSELECTED"},
1262 {TVP_GLYPH, 0, L"GLYPH"},
1263 {TVP_GLYPH, GLPS_CLOSED, L"CLOSED"},
1264 {TVP_GLYPH, GLPS_OPENED, L"OPENED"},
1265 {TVP_BRANCH, 0, L"BRANCH"},
1266 {TVP_HOTGLYPH, 0, L"HOTGLYPH"},
1267 {TVP_HOTGLYPH, HGLPS_CLOSED, L"CLOSED"},
1268 {TVP_HOTGLYPH, HGLPS_OPENED, L"OPENED"},
1269 {0, 0, L""}
1272 static const MSSTYLES_CLASS_MAP classWindow[] = {
1273 {WP_CAPTION, 0, L"CAPTION"},
1274 {WP_CAPTION, CS_ACTIVE, L"ACTIVE"},
1275 {WP_CAPTION, CS_INACTIVE, L"INACTIVE"},
1276 {WP_CAPTION, CS_DISABLED, L"DISABLED"},
1277 {WP_SMALLCAPTION, 0, L"SMALLCAPTION"},
1278 {WP_SMALLCAPTION, CS_ACTIVE, L"ACTIVE"},
1279 {WP_SMALLCAPTION, CS_INACTIVE, L"INACTIVE"},
1280 {WP_SMALLCAPTION, CS_DISABLED, L"DISABLED"},
1281 {WP_MINCAPTION, 0, L"MINCAPTION"},
1282 {WP_MINCAPTION, MNCS_ACTIVE, L"ACTIVE"},
1283 {WP_MINCAPTION, MNCS_INACTIVE, L"INACTIVE"},
1284 {WP_MINCAPTION, MNCS_DISABLED, L"DISABLED"},
1285 {WP_SMALLMINCAPTION, 0, L"SMALLMINCAPTION"},
1286 {WP_SMALLMINCAPTION, MNCS_ACTIVE, L"ACTIVE"},
1287 {WP_SMALLMINCAPTION, MNCS_INACTIVE, L"INACTIVE"},
1288 {WP_SMALLMINCAPTION, MNCS_DISABLED, L"DISABLED"},
1289 {WP_MAXCAPTION, 0, L"MAXCAPTION"},
1290 {WP_MAXCAPTION, MXCS_ACTIVE, L"ACTIVE"},
1291 {WP_MAXCAPTION, MXCS_INACTIVE, L"INACTIVE"},
1292 {WP_MAXCAPTION, MXCS_DISABLED, L"DISABLED"},
1293 {WP_SMALLMAXCAPTION, 0, L"SMALLMAXCAPTION"},
1294 {WP_SMALLMAXCAPTION, MXCS_ACTIVE, L"ACTIVE"},
1295 {WP_SMALLMAXCAPTION, MXCS_INACTIVE, L"INACTIVE"},
1296 {WP_SMALLMAXCAPTION, MXCS_DISABLED, L"DISABLED"},
1297 {WP_FRAMELEFT, 0, L"FRAMELEFT"},
1298 {WP_FRAMELEFT, FS_ACTIVE, L"ACTIVE"},
1299 {WP_FRAMELEFT, FS_INACTIVE, L"INACTIVE"},
1300 {WP_FRAMERIGHT, 0, L"FRAMERIGHT"},
1301 {WP_FRAMERIGHT, FS_ACTIVE, L"ACTIVE"},
1302 {WP_FRAMERIGHT, FS_INACTIVE, L"INACTIVE"},
1303 {WP_FRAMEBOTTOM, 0, L"FRAMEBOTTOM"},
1304 {WP_FRAMEBOTTOM, FS_ACTIVE, L"ACTIVE"},
1305 {WP_FRAMEBOTTOM, FS_INACTIVE, L"INACTIVE"},
1306 {WP_SMALLFRAMELEFT, 0, L"SMALLFRAMELEFT"},
1307 {WP_SMALLFRAMELEFT, FS_ACTIVE, L"ACTIVE"},
1308 {WP_SMALLFRAMELEFT, FS_INACTIVE, L"INACTIVE"},
1309 {WP_SMALLFRAMERIGHT, 0, L"SMALLFRAMERIGHT"},
1310 {WP_SMALLFRAMERIGHT, FS_ACTIVE, L"ACTIVE"},
1311 {WP_SMALLFRAMERIGHT, FS_INACTIVE, L"INACTIVE"},
1312 {WP_SMALLFRAMEBOTTOM, 0, L"SMALLFRAMEBOTTOM"},
1313 {WP_SMALLFRAMEBOTTOM, FS_ACTIVE, L"ACTIVE"},
1314 {WP_SMALLFRAMEBOTTOM, FS_INACTIVE, L"INACTIVE"},
1315 {WP_SYSBUTTON, 0, L"SYSBUTTON"},
1316 {WP_SYSBUTTON, SBS_NORMAL, L"NORMAL"},
1317 {WP_SYSBUTTON, SBS_HOT, L"HOT"},
1318 {WP_SYSBUTTON, SBS_PUSHED, L"PUSHED"},
1319 {WP_SYSBUTTON, SBS_DISABLED, L"DISABLED"},
1320 {WP_MDISYSBUTTON, 0, L"MDISYSBUTTON"},
1321 {WP_MDISYSBUTTON, SBS_NORMAL, L"NORMAL"},
1322 {WP_MDISYSBUTTON, SBS_HOT, L"HOT"},
1323 {WP_MDISYSBUTTON, SBS_PUSHED, L"PUSHED"},
1324 {WP_MDISYSBUTTON, SBS_DISABLED, L"DISABLED"},
1325 {WP_MINBUTTON, 0, L"MINBUTTON"},
1326 {WP_MINBUTTON, MINBS_NORMAL, L"NORMAL"},
1327 {WP_MINBUTTON, MINBS_HOT, L"HOT"},
1328 {WP_MINBUTTON, MINBS_PUSHED, L"PUSHED"},
1329 {WP_MINBUTTON, MINBS_DISABLED, L"DISABLED"},
1330 {WP_MDIMINBUTTON, 0, L"MDIMINBUTTON"},
1331 {WP_MDIMINBUTTON, MINBS_NORMAL, L"NORMAL"},
1332 {WP_MDIMINBUTTON, MINBS_HOT, L"HOT"},
1333 {WP_MDIMINBUTTON, MINBS_PUSHED, L"PUSHED"},
1334 {WP_MDIMINBUTTON, MINBS_DISABLED, L"DISABLED"},
1335 {WP_MAXBUTTON, 0, L"MAXBUTTON"},
1336 {WP_MAXBUTTON, MAXBS_NORMAL, L"NORMAL"},
1337 {WP_MAXBUTTON, MAXBS_HOT, L"HOT"},
1338 {WP_MAXBUTTON, MAXBS_PUSHED, L"PUSHED"},
1339 {WP_MAXBUTTON, MAXBS_DISABLED, L"DISABLED"},
1340 {WP_CLOSEBUTTON, 0, L"CLOSEBUTTON"},
1341 {WP_CLOSEBUTTON, CBS_NORMAL, L"NORMAL"},
1342 {WP_CLOSEBUTTON, CBS_HOT, L"HOT"},
1343 {WP_CLOSEBUTTON, CBS_PUSHED, L"PUSHED"},
1344 {WP_CLOSEBUTTON, CBS_DISABLED, L"DISABLED"},
1345 {WP_SMALLCLOSEBUTTON, 0, L"SMALLCLOSEBUTTON"},
1346 {WP_SMALLCLOSEBUTTON, CBS_NORMAL, L"NORMAL"},
1347 {WP_SMALLCLOSEBUTTON, CBS_HOT, L"HOT"},
1348 {WP_SMALLCLOSEBUTTON, CBS_PUSHED, L"PUSHED"},
1349 {WP_SMALLCLOSEBUTTON, CBS_DISABLED, L"DISABLED"},
1350 {WP_MDICLOSEBUTTON, 0, L"MDICLOSEBUTTON"},
1351 {WP_MDICLOSEBUTTON, CBS_NORMAL, L"NORMAL"},
1352 {WP_MDICLOSEBUTTON, CBS_HOT, L"HOT"},
1353 {WP_MDICLOSEBUTTON, CBS_PUSHED, L"PUSHED"},
1354 {WP_MDICLOSEBUTTON, CBS_DISABLED, L"DISABLED"},
1355 {WP_RESTOREBUTTON, 0, L"RESTOREBUTTON"},
1356 {WP_RESTOREBUTTON, RBS_NORMAL, L"NORMAL"},
1357 {WP_RESTOREBUTTON, RBS_HOT, L"HOT"},
1358 {WP_RESTOREBUTTON, RBS_PUSHED, L"PUSHED"},
1359 {WP_RESTOREBUTTON, RBS_DISABLED, L"DISABLED"},
1360 {WP_MDIRESTOREBUTTON, 0, L"MDIRESTOREBUTTON"},
1361 {WP_MDIRESTOREBUTTON, RBS_NORMAL, L"NORMAL"},
1362 {WP_MDIRESTOREBUTTON, RBS_HOT, L"HOT"},
1363 {WP_MDIRESTOREBUTTON, RBS_PUSHED, L"PUSHED"},
1364 {WP_MDIRESTOREBUTTON, RBS_DISABLED, L"DISABLED"},
1365 {WP_HELPBUTTON, 0, L"HELPBUTTON"},
1366 {WP_HELPBUTTON, HBS_NORMAL, L"NORMAL"},
1367 {WP_HELPBUTTON, HBS_HOT, L"HOT"},
1368 {WP_HELPBUTTON, HBS_PUSHED, L"PUSHED"},
1369 {WP_HELPBUTTON, HBS_DISABLED, L"DISABLED"},
1370 {WP_MDIHELPBUTTON, 0, L"MDIHELPBUTTON"},
1371 {WP_MDIHELPBUTTON, HBS_NORMAL, L"NORMAL"},
1372 {WP_MDIHELPBUTTON, HBS_HOT, L"HOT"},
1373 {WP_MDIHELPBUTTON, HBS_PUSHED, L"PUSHED"},
1374 {WP_MDIHELPBUTTON, HBS_DISABLED, L"DISABLED"},
1375 {WP_HORZSCROLL, 0, L"HORZSCROLL"},
1376 {WP_HORZSCROLL, HSS_NORMAL, L"NORMAL"},
1377 {WP_HORZSCROLL, HSS_HOT, L"HOT"},
1378 {WP_HORZSCROLL, HSS_PUSHED, L"PUSHED"},
1379 {WP_HORZSCROLL, HSS_DISABLED, L"DISABLED"},
1380 {WP_HORZTHUMB, 0, L"HORZTHUMB"},
1381 {WP_HORZTHUMB, HTS_NORMAL, L"NORMAL"},
1382 {WP_HORZTHUMB, HTS_HOT, L"HOT"},
1383 {WP_HORZTHUMB, HTS_PUSHED, L"PUSHED"},
1384 {WP_HORZTHUMB, HTS_DISABLED, L"DISABLED"},
1385 {WP_VERTSCROLL, 0, L"VERTSCROLL"},
1386 {WP_VERTSCROLL, VSS_NORMAL, L"NORMAL"},
1387 {WP_VERTSCROLL, VSS_HOT, L"HOT"},
1388 {WP_VERTSCROLL, VSS_PUSHED, L"PUSHED"},
1389 {WP_VERTSCROLL, VSS_DISABLED, L"DISABLED"},
1390 {WP_VERTTHUMB, 0, L"VERTTHUMB"},
1391 {WP_VERTTHUMB, VTS_NORMAL, L"NORMAL"},
1392 {WP_VERTTHUMB, VTS_HOT, L"HOT"},
1393 {WP_VERTTHUMB, VTS_PUSHED, L"PUSHED"},
1394 {WP_VERTTHUMB, VTS_DISABLED, L"DISABLED"},
1395 {WP_DIALOG, 0, L"DIALOG"},
1396 {WP_CAPTIONSIZINGTEMPLATE, 0, L"CAPTIONSIZINGTEMPLATE"},
1397 {WP_SMALLCAPTIONSIZINGTEMPLATE, 0, L"SMALLCAPTIONSIZINGTEMPLATE"},
1398 {WP_FRAMELEFTSIZINGTEMPLATE, 0, L"FRAMELEFTSIZINGTEMPLATE"},
1399 {WP_SMALLFRAMELEFTSIZINGTEMPLATE, 0, L"SMALLFRAMELEFTSIZINGTEMPLATE"},
1400 {WP_FRAMERIGHTSIZINGTEMPLATE, 0, L"FRAMERIGHTSIZINGTEMPLATE"},
1401 {WP_SMALLFRAMERIGHTSIZINGTEMPLATE, 0, L"SMALLFRAMERIGHTSIZINGTEMPLATE"},
1402 {WP_FRAMEBOTTOMSIZINGTEMPLATE, 0, L"FRAMEBOTTOMSIZINGTEMPLATE"},
1403 {WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE, 0, L"SMALLFRAMEBOTTOMSIZINGTEMPLATE"},
1404 {WP_FRAME, 0, L"FRAME"},
1405 {WP_FRAME, FS_ACTIVE, L"ACTIVE"},
1406 {WP_FRAME, FS_INACTIVE, L"INACTIVE"},
1407 {WP_BORDER, 0, L"BORDER"},
1408 {0, 0, L""}
1411 /* Map class names to part/state maps */
1412 static const MSSTYLES_CLASS_NAME mapClass[] = {
1413 {classButton, L"BUTTON"},
1414 {classClock, L"CLOCK"},
1415 {classCombobox, L"COMBOBOX"},
1416 {classEdit, L"EDIT"},
1417 {classExplorerbar, L"EXPLORERBAR"},
1418 {classHeader, L"HEADER"},
1419 {classListview, L"LISTVIEW"},
1420 {classMenu, L"MENU"},
1421 {classMenuband, L"MENUBAND"},
1422 {classNavigation, L"NAVIGATION"},
1423 {classPage, L"PAGE"},
1424 {classProgress, L"PROGRESS"},
1425 {classRebar, L"REBAR"},
1426 {classScrollbar, L"SCROLLBAR"},
1427 {classSpin, L"SPIN"},
1428 {classStartpanel, L"STARTPANEL"},
1429 {classStatus, L"STATUS"},
1430 {classTab, L"TAB"},
1431 {classTaskband, L"TASKBAND"},
1432 {classTaskbar, L"TASKBAR"},
1433 {classTaskdialog, L"TASKDIALOG"},
1434 {classToolbar, L"TOOLBAR"},
1435 {classTooltip, L"TOOLTIP"},
1436 {classTrackbar, L"TRACKBAR"},
1437 {classTraynotify, L"TRAYNOTIFY"},
1438 {classTreeview, L"TREEVIEW"},
1439 {classWindow, L"WINDOW"}
1442 BOOL MSSTYLES_LookupPartState(LPCWSTR pszClass, LPCWSTR pszPart, LPCWSTR pszState, int *iPartId, int *iStateId)
1444 unsigned int i;
1445 const MSSTYLES_CLASS_MAP *map;
1447 *iPartId = 0;
1448 *iStateId = 0;
1449 for(i=0; i<ARRAY_SIZE(mapClass); i++) {
1450 if(!lstrcmpiW(mapClass[i].pszClass, pszClass)) {
1451 map = mapClass[i].lpMap;
1452 if(pszPart) {
1453 do {
1454 if(map->dwStateID == 0 && !lstrcmpiW(map->szName, pszPart)) {
1455 *iPartId = map->dwPartID;
1456 break;
1458 } while(*((++map)->szName));
1460 if(pszState) {
1461 if(pszPart && *iPartId == 0) {
1462 break;
1464 do {
1465 if(pszPart) {
1466 if(map->dwPartID == *iPartId && !lstrcmpiW(map->szName, pszState)) {
1467 *iStateId = map->dwStateID;
1468 break;
1471 else {
1472 if(!lstrcmpiW(map->szName, pszState)) {
1473 *iStateId = map->dwStateID;
1474 break;
1477 } while(*((++map)->szName));
1479 break;
1482 if(pszPart && *iPartId == 0) {
1483 return FALSE;
1485 if(pszState && *iStateId == 0) {
1486 return FALSE;
1488 return TRUE;
1491 static int __cdecl msstyles_property_map_compare(const void *a, const void *b)
1493 const MSSTYLES_PROPERTY_MAP *a_prop = a, *b_prop = b;
1494 INT size = ARRAY_SIZE(a_prop->szPropertyName);
1495 return CompareStringOrdinal(a_prop->szPropertyName, size, b_prop->szPropertyName, size, TRUE) - CSTR_EQUAL;
1498 /**********************************************************************
1499 * MSSTYLES_LookupProperty
1501 * Find a property ID from name
1503 * PARAMS
1504 * pszPropertyName Name of property to lookup
1505 * dwPrimitive Location to store primitive type of property
1506 * dwId Location to store ID of property
1508 * RETURNS
1509 * FALSE if value is not found, TRUE otherwise
1511 BOOL MSSTYLES_LookupProperty(LPCWSTR pszPropertyName, int *dwPrimitive, int *dwId)
1513 MSSTYLES_PROPERTY_MAP key = {{0}}, *found;
1514 SIZE_T len;
1516 if ((len = wcslen(pszPropertyName)) >= ARRAY_SIZE(key.szPropertyName)) return FALSE;
1517 memcpy(key.szPropertyName, pszPropertyName, len * sizeof(WCHAR));
1519 if (!(found = bsearch(&key, mapProperty, ARRAY_SIZE(mapProperty),
1520 sizeof(*mapProperty), msstyles_property_map_compare)))
1521 return FALSE;
1523 if (dwPrimitive) *dwPrimitive = found->dwPrimitiveType;
1524 if (dwId) *dwId = found->dwPropertyID;
1525 return TRUE;
1528 /**********************************************************************
1529 * MSSTYLES_LookupEnum
1531 * Lookup the value for an enumeration
1533 * PARAMS
1534 * pszValueName Value name to lookup
1535 * dwEnum Enumeration property ID to search
1536 * dwValue Location to store value
1538 * RETURNS
1539 * FALSE if value is not found, TRUE otherwise
1541 BOOL MSSTYLES_LookupEnum(LPCWSTR pszValueName, int dwEnum, int *dwValue)
1543 DWORD item = 0;
1544 /* Locate the enum block */
1545 while(*mapEnum[item].szValueName && mapEnum[item].dwEnum != dwEnum) item++;
1546 /* Now find the value in that block */
1547 while(*mapEnum[item].szValueName && mapEnum[item].dwEnum == dwEnum) {
1548 if(!lstrcmpiW(mapEnum[item].szValueName, pszValueName)) {
1549 if(dwValue) *dwValue = mapEnum[item].dwValue;
1550 return TRUE;
1552 item++;
1554 return FALSE;