uxtheme: Support parsing more combobox parts and states.
[wine.git] / dlls / uxtheme / stylemap.c
blobb5063f3a6ed250109fa71b1d7f364859007b9f8f
1 /*
2 * msstyle data maps
4 * Copyright (C) 2004 Kevin Koltzau
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include <stdarg.h>
23 #include "windef.h"
24 #include "winbase.h"
25 #include "winuser.h"
26 #include "vssym32.h"
28 #define TMT_ENUM 200
29 #define TMT_STOCKIMAGEFILE 3007
31 typedef struct _MSSTYLES_PROPERTY_MAP {
32 WORD dwPrimitiveType;
33 WORD dwPropertyID;
34 WCHAR szPropertyName[24];
35 } MSSTYLES_PROPERTY_MAP, *PMSSTYLES_PROPERTY_MAP;
37 typedef struct _MSSTYLES_ENUM_MAP {
38 WORD dwEnum;
39 WORD dwValue;
40 WCHAR szValueName[18];
41 } MSSTYLES_ENUM_MAP, *PMSSTYLES_ENUM_MAP;
43 typedef struct _MSSTYLES_CLASS_MAP {
44 WORD dwPartID;
45 WORD dwStateID;
46 WCHAR szName[31];
47 } MSSTYLES_CLASS_MAP, *PMSSTYLES_CLASS_MAP;
49 typedef struct _MSSTYLES_CLASS_NAME {
50 const MSSTYLES_CLASS_MAP *lpMap;
51 WCHAR pszClass[12];
52 } MSSTYLES_CLASS_NAME, *PMSSTYLES_CLASS_NAME;
54 /***********************************************************************
55 * Map property names to IDs & primitive types
56 * PrimitiveType,PropertyID,PropertyName
58 static const MSSTYLES_PROPERTY_MAP mapProperty[] = {
59 {TMT_STRING, TMT_STRING, L"STRING"},
60 {TMT_INT, TMT_INT, L"INT"},
61 {TMT_BOOL, TMT_BOOL, L"BOOL"},
62 {TMT_COLOR, TMT_COLOR, L"COLOR"},
63 {TMT_MARGINS, TMT_MARGINS, L"MARGINS"},
64 {TMT_FILENAME, TMT_FILENAME, L"FILENAME"},
65 {TMT_SIZE, TMT_SIZE, L"SIZE"},
66 {TMT_POSITION, TMT_POSITION, L"POSITION"},
67 {TMT_RECT, TMT_RECT, L"RECT"},
68 {TMT_FONT, TMT_FONT, L"FONT"},
69 {TMT_INTLIST, TMT_INTLIST, L"INTLIST"},
70 {TMT_STRING, TMT_COLORSCHEMES, L"COLORSCHEMES"},
71 {TMT_STRING, TMT_SIZES, L"SIZES"},
72 {TMT_INT, TMT_CHARSET, L"CHARSET"},
73 {TMT_STRING, TMT_DISPLAYNAME, L"DISPLAYNAME"},
74 {TMT_STRING, TMT_TOOLTIP, L"TOOLTIP"},
75 {TMT_STRING, TMT_COMPANY, L"COMPANY"},
76 {TMT_STRING, TMT_AUTHOR, L"AUTHOR"},
77 {TMT_STRING, TMT_COPYRIGHT, L"COPYRIGHT"},
78 {TMT_STRING, TMT_URL, L"URL"},
79 {TMT_STRING, TMT_VERSION, L"VERSION"},
80 {TMT_STRING, TMT_DESCRIPTION, L"DESCRIPTION"},
81 {TMT_FONT, TMT_CAPTIONFONT, L"CAPTIONFONT"},
82 {TMT_FONT, TMT_SMALLCAPTIONFONT, L"SMALLCAPTIONFONT"},
83 {TMT_FONT, TMT_MENUFONT, L"MENUFONT"},
84 {TMT_FONT, TMT_STATUSFONT, L"STATUSFONT"},
85 {TMT_FONT, TMT_MSGBOXFONT, L"MSGBOXFONT"},
86 {TMT_FONT, TMT_ICONTITLEFONT, L"ICONTITLEFONT"},
87 {TMT_FONT, TMT_HEADING1FONT, L"HEADING1FONT"},
88 {TMT_FONT, TMT_HEADING2FONT, L"HEADING2FONT"},
89 {TMT_FONT, TMT_BODYFONT, L"BODYFONT"},
90 {TMT_BOOL, TMT_FLATMENUS, L"FLATMENUS"},
91 {TMT_SIZE, TMT_SIZINGBORDERWIDTH, L"SIZINGBORDERWIDTH"},
92 {TMT_SIZE, TMT_SCROLLBARWIDTH, L"SCROLLBARWIDTH"},
93 {TMT_SIZE, TMT_SCROLLBARHEIGHT, L"SCROLLBARHEIGHT"},
94 {TMT_SIZE, TMT_CAPTIONBARWIDTH, L"CAPTIONBARWIDTH"},
95 {TMT_SIZE, TMT_CAPTIONBARHEIGHT, L"CAPTIONBARHEIGHT"},
96 {TMT_SIZE, TMT_SMCAPTIONBARWIDTH, L"SMCAPTIONBARWIDTH"},
97 {TMT_SIZE, TMT_SMCAPTIONBARHEIGHT, L"SMCAPTIONBARHEIGHT"},
98 {TMT_SIZE, TMT_MENUBARWIDTH, L"MENUBARWIDTH"},
99 {TMT_SIZE, TMT_MENUBARHEIGHT, L"MENUBARHEIGHT"},
100 {TMT_INT, TMT_MINCOLORDEPTH, L"MINCOLORDEPTH"},
101 {TMT_STRING, TMT_CSSNAME, L"CSSNAME"},
102 {TMT_STRING, TMT_XMLNAME, L"XMLNAME"},
103 {TMT_COLOR, TMT_SCROLLBAR, L"SCROLLBAR"},
104 {TMT_COLOR, TMT_BACKGROUND, L"BACKGROUND"},
105 {TMT_COLOR, TMT_ACTIVECAPTION, L"ACTIVECAPTION"},
106 {TMT_COLOR, TMT_INACTIVECAPTION, L"INACTIVECAPTION"},
107 {TMT_COLOR, TMT_MENU, L"MENU"},
108 {TMT_COLOR, TMT_WINDOW, L"WINDOW"},
109 {TMT_COLOR, TMT_WINDOWFRAME, L"WINDOWFRAME"},
110 {TMT_COLOR, TMT_MENUTEXT, L"MENUTEXT"},
111 {TMT_COLOR, TMT_WINDOWTEXT, L"WINDOWTEXT"},
112 {TMT_COLOR, TMT_CAPTIONTEXT, L"CAPTIONTEXT"},
113 {TMT_COLOR, TMT_ACTIVEBORDER, L"ACTIVEBORDER"},
114 {TMT_COLOR, TMT_INACTIVEBORDER, L"INACTIVEBORDER"},
115 {TMT_COLOR, TMT_APPWORKSPACE, L"APPWORKSPACE"},
116 {TMT_COLOR, TMT_HIGHLIGHT, L"HIGHLIGHT"},
117 {TMT_COLOR, TMT_HIGHLIGHTTEXT, L"HIGHLIGHTTEXT"},
118 {TMT_COLOR, TMT_BTNFACE, L"BTNFACE"},
119 {TMT_COLOR, TMT_BTNSHADOW, L"BTNSHADOW"},
120 {TMT_COLOR, TMT_GRAYTEXT, L"GRAYTEXT"},
121 {TMT_COLOR, TMT_BTNTEXT, L"BTNTEXT"},
122 {TMT_COLOR, TMT_INACTIVECAPTIONTEXT, L"INACTIVECAPTIONTEXT"},
123 {TMT_COLOR, TMT_BTNHIGHLIGHT, L"BTNHIGHLIGHT"},
124 {TMT_COLOR, TMT_DKSHADOW3D, L"DKSHADOW3D"},
125 {TMT_COLOR, TMT_LIGHT3D, L"LIGHT3D"},
126 {TMT_COLOR, TMT_INFOTEXT, L"INFOTEXT"},
127 {TMT_COLOR, TMT_INFOBK, L"INFOBK"},
128 {TMT_COLOR, TMT_BUTTONALTERNATEFACE, L"BUTTONALTERNATEFACE"},
129 {TMT_COLOR, TMT_HOTTRACKING, L"HOTTRACKING"},
130 {TMT_COLOR, TMT_GRADIENTACTIVECAPTION, L"GRADIENTACTIVECAPTION"},
131 {TMT_COLOR, TMT_GRADIENTINACTIVECAPTION, L"GRADIENTINACTIVECAPTION"},
132 {TMT_COLOR, TMT_MENUHILIGHT, L"MENUHILIGHT"},
133 {TMT_COLOR, TMT_MENUBAR, L"MENUBAR"},
134 {TMT_INT, TMT_FROMHUE1, L"FROMHUE1"},
135 {TMT_INT, TMT_FROMHUE2, L"FROMHUE2"},
136 {TMT_INT, TMT_FROMHUE3, L"FROMHUE3"},
137 {TMT_INT, TMT_FROMHUE4, L"FROMHUE4"},
138 {TMT_INT, TMT_FROMHUE5, L"FROMHUE5"},
139 {TMT_INT, TMT_TOHUE1, L"TOHUE1"},
140 {TMT_INT, TMT_TOHUE2, L"TOHUE2"},
141 {TMT_INT, TMT_TOHUE3, L"TOHUE3"},
142 {TMT_INT, TMT_TOHUE4, L"TOHUE4"},
143 {TMT_INT, TMT_TOHUE5, L"TOHUE5"},
144 {TMT_COLOR, TMT_FROMCOLOR1, L"FROMCOLOR1"},
145 {TMT_COLOR, TMT_FROMCOLOR2, L"FROMCOLOR2"},
146 {TMT_COLOR, TMT_FROMCOLOR3, L"FROMCOLOR3"},
147 {TMT_COLOR, TMT_FROMCOLOR4, L"FROMCOLOR4"},
148 {TMT_COLOR, TMT_FROMCOLOR5, L"FROMCOLOR5"},
149 {TMT_COLOR, TMT_TOCOLOR1, L"TOCOLOR1"},
150 {TMT_COLOR, TMT_TOCOLOR2, L"TOCOLOR2"},
151 {TMT_COLOR, TMT_TOCOLOR3, L"TOCOLOR3"},
152 {TMT_COLOR, TMT_TOCOLOR4, L"TOCOLOR4"},
153 {TMT_COLOR, TMT_TOCOLOR5, L"TOCOLOR5"},
154 {TMT_BOOL, TMT_TRANSPARENT, L"TRANSPARENT"},
155 {TMT_BOOL, TMT_AUTOSIZE, L"AUTOSIZE"},
156 {TMT_BOOL, TMT_BORDERONLY, L"BORDERONLY"},
157 {TMT_BOOL, TMT_COMPOSITED, L"COMPOSITED"},
158 {TMT_BOOL, TMT_BGFILL, L"BGFILL"},
159 {TMT_BOOL, TMT_GLYPHTRANSPARENT, L"GLYPHTRANSPARENT"},
160 {TMT_BOOL, TMT_GLYPHONLY, L"GLYPHONLY"},
161 {TMT_BOOL, TMT_ALWAYSSHOWSIZINGBAR, L"ALWAYSSHOWSIZINGBAR"},
162 {TMT_BOOL, TMT_MIRRORIMAGE, L"MIRRORIMAGE"},
163 {TMT_BOOL, TMT_UNIFORMSIZING, L"UNIFORMSIZING"},
164 {TMT_BOOL, TMT_INTEGRALSIZING, L"INTEGRALSIZING"},
165 {TMT_BOOL, TMT_SOURCEGROW, L"SOURCEGROW"},
166 {TMT_BOOL, TMT_SOURCESHRINK, L"SOURCESHRINK"},
167 {TMT_INT, TMT_IMAGECOUNT, L"IMAGECOUNT"},
168 {TMT_INT, TMT_ALPHALEVEL, L"ALPHALEVEL"},
169 {TMT_INT, TMT_BORDERSIZE, L"BORDERSIZE"},
170 {TMT_INT, TMT_ROUNDCORNERWIDTH, L"ROUNDCORNERWIDTH"},
171 {TMT_INT, TMT_ROUNDCORNERHEIGHT, L"ROUNDCORNERHEIGHT"},
172 {TMT_INT, TMT_GRADIENTRATIO1, L"GRADIENTRATIO1"},
173 {TMT_INT, TMT_GRADIENTRATIO2, L"GRADIENTRATIO2"},
174 {TMT_INT, TMT_GRADIENTRATIO3, L"GRADIENTRATIO3"},
175 {TMT_INT, TMT_GRADIENTRATIO4, L"GRADIENTRATIO4"},
176 {TMT_INT, TMT_GRADIENTRATIO5, L"GRADIENTRATIO5"},
177 {TMT_INT, TMT_PROGRESSCHUNKSIZE, L"PROGRESSCHUNKSIZE"},
178 {TMT_INT, TMT_PROGRESSSPACESIZE, L"PROGRESSSPACESIZE"},
179 {TMT_INT, TMT_SATURATION, L"SATURATION"},
180 {TMT_INT, TMT_TEXTBORDERSIZE, L"TEXTBORDERSIZE"},
181 {TMT_INT, TMT_ALPHATHRESHOLD, L"ALPHATHRESHOLD"},
182 {TMT_SIZE, TMT_WIDTH, L"WIDTH"},
183 {TMT_SIZE, TMT_HEIGHT, L"HEIGHT"},
184 {TMT_INT, TMT_GLYPHINDEX, L"GLYPHINDEX"},
185 {TMT_INT, TMT_TRUESIZESTRETCHMARK, L"TRUESIZESTRETCHMARK"},
186 {TMT_INT, TMT_MINDPI1, L"MINDPI1"},
187 {TMT_INT, TMT_MINDPI2, L"MINDPI2"},
188 {TMT_INT, TMT_MINDPI3, L"MINDPI3"},
189 {TMT_INT, TMT_MINDPI4, L"MINDPI4"},
190 {TMT_INT, TMT_MINDPI5, L"MINDPI5"},
191 {TMT_INT, TMT_MINDPI6, L"MINDPI6"},
192 {TMT_INT, TMT_MINDPI7, L"MINDPI7"},
193 {TMT_FONT, TMT_GLYPHFONT, L"GLYPHFONT"},
194 {TMT_FILENAME, TMT_IMAGEFILE, L"IMAGEFILE"},
195 {TMT_FILENAME, TMT_IMAGEFILE1, L"IMAGEFILE1"},
196 {TMT_FILENAME, TMT_IMAGEFILE2, L"IMAGEFILE2"},
197 {TMT_FILENAME, TMT_IMAGEFILE3, L"IMAGEFILE3"},
198 {TMT_FILENAME, TMT_IMAGEFILE4, L"IMAGEFILE4"},
199 {TMT_FILENAME, TMT_IMAGEFILE5, L"IMAGEFILE5"},
200 {TMT_FILENAME, TMT_IMAGEFILE6, L"IMAGEFILE6"},
201 {TMT_FILENAME, TMT_IMAGEFILE7, L"IMAGEFILE7"},
202 {TMT_FILENAME, TMT_STOCKIMAGEFILE, L"STOCKIMAGEFILE"},
203 {TMT_FILENAME, TMT_GLYPHIMAGEFILE, L"GLYPHIMAGEFILE"},
204 {TMT_STRING, TMT_TEXT, L"TEXT"},
205 {TMT_POSITION, TMT_OFFSET, L"OFFSET"},
206 {TMT_POSITION, TMT_TEXTSHADOWOFFSET, L"TEXTSHADOWOFFSET"},
207 {TMT_POSITION, TMT_MINSIZE, L"MINSIZE"},
208 {TMT_POSITION, TMT_MINSIZE1, L"MINSIZE1"},
209 {TMT_POSITION, TMT_MINSIZE2, L"MINSIZE2"},
210 {TMT_POSITION, TMT_MINSIZE3, L"MINSIZE3"},
211 {TMT_POSITION, TMT_MINSIZE4, L"MINSIZE4"},
212 {TMT_POSITION, TMT_MINSIZE5, L"MINSIZE5"},
213 {TMT_POSITION, TMT_NORMALSIZE, L"NORMALSIZE"},
214 {TMT_POSITION, TMT_MINSIZE6, L"MINSIZE6"},
215 {TMT_POSITION, TMT_MINSIZE7, L"MINSIZE7"},
216 {TMT_MARGINS, TMT_SIZINGMARGINS, L"SIZINGMARGINS"},
217 {TMT_MARGINS, TMT_CONTENTMARGINS, L"CONTENTMARGINS"},
218 {TMT_MARGINS, TMT_CAPTIONMARGINS, L"CAPTIONMARGINS"},
219 {TMT_COLOR, TMT_BORDERCOLOR, L"BORDERCOLOR"},
220 {TMT_COLOR, TMT_FILLCOLOR, L"FILLCOLOR"},
221 {TMT_COLOR, TMT_TEXTCOLOR, L"TEXTCOLOR"},
222 {TMT_COLOR, TMT_EDGELIGHTCOLOR, L"EDGELIGHTCOLOR"},
223 {TMT_COLOR, TMT_EDGEHIGHLIGHTCOLOR, L"EDGEHIGHLIGHTCOLOR"},
224 {TMT_COLOR, TMT_EDGESHADOWCOLOR, L"EDGESHADOWCOLOR"},
225 {TMT_COLOR, TMT_EDGEDKSHADOWCOLOR, L"EDGEDKSHADOWCOLOR"},
226 {TMT_COLOR, TMT_EDGEFILLCOLOR, L"EDGEFILLCOLOR"},
227 {TMT_COLOR, TMT_TRANSPARENTCOLOR, L"TRANSPARENTCOLOR"},
228 {TMT_COLOR, TMT_GRADIENTCOLOR1, L"GRADIENTCOLOR1"},
229 {TMT_COLOR, TMT_GRADIENTCOLOR2, L"GRADIENTCOLOR2"},
230 {TMT_COLOR, TMT_GRADIENTCOLOR3, L"GRADIENTCOLOR3"},
231 {TMT_COLOR, TMT_GRADIENTCOLOR4, L"GRADIENTCOLOR4"},
232 {TMT_COLOR, TMT_GRADIENTCOLOR5, L"GRADIENTCOLOR5"},
233 {TMT_COLOR, TMT_SHADOWCOLOR, L"SHADOWCOLOR"},
234 {TMT_COLOR, TMT_GLOWCOLOR, L"GLOWCOLOR"},
235 {TMT_COLOR, TMT_TEXTBORDERCOLOR, L"TEXTBORDERCOLOR"},
236 {TMT_COLOR, TMT_TEXTSHADOWCOLOR, L"TEXTSHADOWCOLOR"},
237 {TMT_COLOR, TMT_GLYPHTEXTCOLOR, L"GLYPHTEXTCOLOR"},
238 {TMT_COLOR, TMT_GLYPHTRANSPARENTCOLOR, L"GLYPHTRANSPARENTCOLOR"},
239 {TMT_COLOR, TMT_FILLCOLORHINT, L"FILLCOLORHINT"},
240 {TMT_COLOR, TMT_BORDERCOLORHINT, L"BORDERCOLORHINT"},
241 {TMT_COLOR, TMT_ACCENTCOLORHINT, L"ACCENTCOLORHINT"},
242 {TMT_ENUM, TMT_BGTYPE, L"BGTYPE"},
243 {TMT_ENUM, TMT_BORDERTYPE, L"BORDERTYPE"},
244 {TMT_ENUM, TMT_FILLTYPE, L"FILLTYPE"},
245 {TMT_ENUM, TMT_SIZINGTYPE, L"SIZINGTYPE"},
246 {TMT_ENUM, TMT_HALIGN, L"HALIGN"},
247 {TMT_ENUM, TMT_CONTENTALIGNMENT, L"CONTENTALIGNMENT"},
248 {TMT_ENUM, TMT_VALIGN, L"VALIGN"},
249 {TMT_ENUM, TMT_OFFSETTYPE, L"OFFSETTYPE"},
250 {TMT_ENUM, TMT_ICONEFFECT, L"ICONEFFECT"},
251 {TMT_ENUM, TMT_TEXTSHADOWTYPE, L"TEXTSHADOWTYPE"},
252 {TMT_ENUM, TMT_IMAGELAYOUT, L"IMAGELAYOUT"},
253 {TMT_ENUM, TMT_GLYPHTYPE, L"GLYPHTYPE"},
254 {TMT_ENUM, TMT_IMAGESELECTTYPE, L"IMAGESELECTTYPE"},
255 {TMT_ENUM, TMT_GLYPHFONTSIZINGTYPE, L"GLYPHFONTSIZINGTYPE"},
256 {TMT_ENUM, TMT_TRUESIZESCALINGTYPE, L"TRUESIZESCALINGTYPE"},
257 {TMT_BOOL, TMT_USERPICTURE, L"USERPICTURE"},
258 {TMT_RECT, TMT_DEFAULTPANESIZE, L"DEFAULTPANESIZE"},
259 {TMT_COLOR, TMT_BLENDCOLOR, L"BLENDCOLOR"},
260 {TMT_INTLIST, TMT_TRANSITIONDURATIONS, L"TRANSITIONDURATIONS"},
261 {0, 0, L""}
264 /***********************************************************************
265 * Map strings to enumeration values
266 * Enum,Value,ValueName
268 static const MSSTYLES_ENUM_MAP mapEnum[] = {
269 {TMT_BGTYPE, BT_IMAGEFILE, L"IMAGEFILE"},
270 {TMT_BGTYPE, BT_BORDERFILL, L"BORDERFILL"},
271 {TMT_BGTYPE, BT_NONE, L"NONE"},
272 {TMT_IMAGELAYOUT, IL_VERTICAL, L"VERTICAL"},
273 {TMT_IMAGELAYOUT, IL_HORIZONTAL, L"HORIZONTAL"},
274 {TMT_BORDERTYPE, BT_RECT, L"RECT"},
275 {TMT_BORDERTYPE, BT_ROUNDRECT, L"ROUNDRECT"},
276 {TMT_BORDERTYPE, BT_ELLIPSE, L"ELLIPSE"},
277 {TMT_FILLTYPE, FT_SOLID, L"SOLID"},
278 {TMT_FILLTYPE, FT_VERTGRADIENT, L"VERTGRADIENT"},
279 {TMT_FILLTYPE, FT_HORZGRADIENT, L"HORZGRADIENT"},
280 {TMT_FILLTYPE, FT_RADIALGRADIENT, L"RADIALGRADIENT"},
281 {TMT_FILLTYPE, FT_TILEIMAGE, L"TILEIMAGE"},
282 {TMT_SIZINGTYPE, ST_TRUESIZE, L"TRUESIZE"},
283 {TMT_SIZINGTYPE, ST_STRETCH, L"STRETCH"},
284 {TMT_SIZINGTYPE, ST_TILE, L"TILE"},
285 {TMT_HALIGN, HA_LEFT, L"LEFT"},
286 {TMT_HALIGN, HA_CENTER, L"CENTER"},
287 {TMT_HALIGN, HA_RIGHT, L"RIGHT"},
288 {TMT_CONTENTALIGNMENT, CA_LEFT, L"LEFT"},
289 {TMT_CONTENTALIGNMENT, CA_CENTER, L"CENTER"},
290 {TMT_CONTENTALIGNMENT, CA_RIGHT, L"RIGHT"},
291 {TMT_VALIGN, VA_TOP, L"TOP"},
292 {TMT_VALIGN, VA_CENTER, L"CENTER"},
293 {TMT_VALIGN, VA_BOTTOM, L"BOTTOM"},
294 {TMT_OFFSETTYPE, OT_TOPLEFT, L"TOPLEFT"},
295 {TMT_OFFSETTYPE, OT_TOPRIGHT, L"TOPRIGHT"},
296 {TMT_OFFSETTYPE, OT_TOPMIDDLE, L"TOPMIDDLE"},
297 {TMT_OFFSETTYPE, OT_BOTTOMLEFT, L"BOTTOMLEFT"},
298 {TMT_OFFSETTYPE, OT_BOTTOMRIGHT, L"BOTTOMRIGHT"},
299 {TMT_OFFSETTYPE, OT_BOTTOMMIDDLE, L"BOTTOMMIDDLE"},
300 {TMT_OFFSETTYPE, OT_MIDDLELEFT, L"MIDDLELEFT"},
301 {TMT_OFFSETTYPE, OT_MIDDLERIGHT, L"MIDDLERIGHT"},
302 {TMT_OFFSETTYPE, OT_LEFTOFCAPTION, L"LEFTOFCAPTION"},
303 {TMT_OFFSETTYPE, OT_RIGHTOFCAPTION, L"RIGHTOFCAPTION"},
304 {TMT_OFFSETTYPE, OT_LEFTOFLASTBUTTON, L"LEFTOFLASTBUTTON"},
305 {TMT_OFFSETTYPE, OT_RIGHTOFLASTBUTTON, L"RIGHTOFLASTBUTTON"},
306 {TMT_OFFSETTYPE, OT_ABOVELASTBUTTON, L"ABOVELASTBUTTON"},
307 {TMT_OFFSETTYPE, OT_BELOWLASTBUTTON, L"BELOWLASTBUTTON"},
308 {TMT_ICONEFFECT, ICE_NONE, L"NONE"},
309 {TMT_ICONEFFECT, ICE_GLOW, L"GLOW"},
310 {TMT_ICONEFFECT, ICE_SHADOW, L"SHADOW"},
311 {TMT_ICONEFFECT, ICE_PULSE, L"PULSE"},
312 {TMT_ICONEFFECT, ICE_ALPHA, L"ALPHA"},
313 {TMT_TEXTSHADOWTYPE, TST_NONE, L"NONE"},
314 {TMT_TEXTSHADOWTYPE, TST_SINGLE, L"SINGLE"},
315 {TMT_TEXTSHADOWTYPE, TST_CONTINUOUS, L"CONTINUOUS"},
316 {TMT_GLYPHTYPE, GT_NONE, L"NONE"},
317 {TMT_GLYPHTYPE, GT_IMAGEGLYPH, L"IMAGEGLYPH"},
318 {TMT_GLYPHTYPE, GT_FONTGLYPH, L"FONTGLYPH"},
319 {TMT_IMAGESELECTTYPE, IST_NONE, L"NONE"},
320 {TMT_IMAGESELECTTYPE, IST_SIZE, L"SIZE"},
321 {TMT_IMAGESELECTTYPE, IST_DPI, L"DPI"},
322 {TMT_TRUESIZESCALINGTYPE, TSST_NONE, L"NONE"},
323 {TMT_TRUESIZESCALINGTYPE, TSST_SIZE, L"SIZE"},
324 {TMT_TRUESIZESCALINGTYPE, TSST_DPI, L"DPI"},
325 {TMT_GLYPHFONTSIZINGTYPE, GFST_NONE, L"NONE"},
326 {TMT_GLYPHFONTSIZINGTYPE, GFST_SIZE, L"SIZE"},
327 {TMT_GLYPHFONTSIZINGTYPE, GFST_DPI, L"DPI"},
328 {0, 0, L""}
332 /***********************************************************************
333 * Classes defined below
334 * Defined as PartID,StateID,TextName
335 * If StateID == 0 then its a part being defined
337 static const MSSTYLES_CLASS_MAP classButton[] = {
338 {BP_PUSHBUTTON, 0, L"PUSHBUTTON"},
339 {BP_PUSHBUTTON, PBS_NORMAL, L"NORMAL"},
340 {BP_PUSHBUTTON, PBS_HOT, L"HOT"},
341 {BP_PUSHBUTTON, PBS_PRESSED, L"PRESSED"},
342 {BP_PUSHBUTTON, PBS_DISABLED, L"DISABLED"},
343 {BP_PUSHBUTTON, PBS_DEFAULTED, L"DEFAULTED"},
344 {BP_PUSHBUTTON, PBS_DEFAULTED_ANIMATING, L"DEFAULTED_ANIMATING"},
345 {BP_RADIOBUTTON, 0, L"RADIOBUTTON"},
346 {BP_RADIOBUTTON, RBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
347 {BP_RADIOBUTTON, RBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
348 {BP_RADIOBUTTON, RBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
349 {BP_RADIOBUTTON, RBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
350 {BP_RADIOBUTTON, RBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
351 {BP_RADIOBUTTON, RBS_CHECKEDHOT, L"CHECKEDHOT"},
352 {BP_RADIOBUTTON, RBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
353 {BP_RADIOBUTTON, RBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
354 {BP_CHECKBOX, 0, L"CHECKBOX"},
355 {BP_CHECKBOX, CBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
356 {BP_CHECKBOX, CBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
357 {BP_CHECKBOX, CBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
358 {BP_CHECKBOX, CBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
359 {BP_CHECKBOX, CBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
360 {BP_CHECKBOX, CBS_CHECKEDHOT, L"CHECKEDHOT"},
361 {BP_CHECKBOX, CBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
362 {BP_CHECKBOX, CBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
363 {BP_CHECKBOX, CBS_MIXEDNORMAL, L"MIXEDNORMAL"},
364 {BP_CHECKBOX, CBS_MIXEDHOT, L"MIXEDHOT"},
365 {BP_CHECKBOX, CBS_MIXEDPRESSED, L"MIXEDPRESSED"},
366 {BP_CHECKBOX, CBS_MIXEDDISABLED, L"MIXEDDISABLED"},
367 {BP_CHECKBOX, CBS_IMPLICITNORMAL, L"IMPLICITNORMAL"},
368 {BP_CHECKBOX, CBS_IMPLICITHOT, L"IMPLICITHOT"},
369 {BP_CHECKBOX, CBS_IMPLICITPRESSED, L"IMPLICITPRESSED"},
370 {BP_CHECKBOX, CBS_IMPLICITDISABLED, L"IMPLICITDISABLED"},
371 {BP_CHECKBOX, CBS_EXCLUDEDNORMAL, L"EXCLUDEDNORMAL"},
372 {BP_CHECKBOX, CBS_EXCLUDEDHOT, L"EXCLUDEDHOT"},
373 {BP_CHECKBOX, CBS_EXCLUDEDPRESSED, L"EXCLUDEDPRESSED"},
374 {BP_CHECKBOX, CBS_EXCLUDEDDISABLED, L"EXCLUDEDDISABLED"},
375 {BP_GROUPBOX, 0, L"GROUPBOX"},
376 {BP_GROUPBOX, GBS_NORMAL, L"NORMAL"},
377 {BP_GROUPBOX, GBS_DISABLED, L"DISABLED"},
378 {BP_USERBUTTON, 0, L"USERBUTTON"},
379 {BP_COMMANDLINK, 0, L"COMMANDLINK"},
380 {BP_COMMANDLINK, CMDLS_NORMAL, L"NORMAL"},
381 {BP_COMMANDLINK, CMDLS_HOT, L"HOT"},
382 {BP_COMMANDLINK, CMDLS_PRESSED, L"PRESSED"},
383 {BP_COMMANDLINK, CMDLS_DISABLED, L"DISABLED"},
384 {BP_COMMANDLINK, CMDLS_DEFAULTED, L"DEFAULTED"},
385 {BP_COMMANDLINK, CMDLS_DEFAULTED_ANIMATING, L"DEFAULTED_ANIMATING"},
386 {BP_COMMANDLINKGLYPH, 0, L"COMMANDLINKGLYPH"},
387 {BP_COMMANDLINKGLYPH, CMDLGS_NORMAL, L"NORMAL"},
388 {BP_COMMANDLINKGLYPH, CMDLGS_HOT, L"HOT"},
389 {BP_COMMANDLINKGLYPH, CMDLGS_PRESSED, L"PRESSED"},
390 {BP_COMMANDLINKGLYPH, CMDLGS_DISABLED, L"DISABLED"},
391 {BP_COMMANDLINKGLYPH, CMDLGS_DEFAULTED, L"DEFAULTED"},
392 {BP_RADIOBUTTON_HCDISABLED, 0, L"RADIOBUTTON_HCDISABLED"},
393 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
394 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
395 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
396 {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
397 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
398 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDHOT, L"CHECKEDHOT"},
399 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
400 {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
401 {BP_CHECKBOX_HCDISABLED, 0, L"CHECKBOX_HCDISABLED"},
402 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
403 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
404 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
405 {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
406 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
407 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDHOT, L"CHECKEDHOT"},
408 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
409 {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
410 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDNORMAL, L"MIXEDNORMAL"},
411 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDHOT, L"MIXEDHOT"},
412 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDPRESSED, L"MIXEDPRESSED"},
413 {BP_CHECKBOX_HCDISABLED, CBS_MIXEDDISABLED, L"MIXEDDISABLED"},
414 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITNORMAL, L"IMPLICITNORMAL"},
415 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITHOT, L"IMPLICITHOT"},
416 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITPRESSED, L"IMPLICITPRESSED"},
417 {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITDISABLED, L"IMPLICITDISABLED"},
418 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDNORMAL, L"EXCLUDEDNORMAL"},
419 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDHOT, L"EXCLUDEDHOT"},
420 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDPRESSED, L"EXCLUDEDPRESSED"},
421 {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDDISABLED, L"EXCLUDEDDISABLED"},
422 {BP_GROUPBOX_HCDISABLED, 0, L"GROUPBOX_HCDISABLED"},
423 {BP_GROUPBOX_HCDISABLED, GBS_NORMAL, L"NORMAL"},
424 {BP_GROUPBOX_HCDISABLED, GBS_DISABLED, L"DISABLED"},
425 {BP_PUSHBUTTONDROPDOWN, 0, L"PUSHBUTTONDROPDOWN"},
426 {BP_PUSHBUTTONDROPDOWN, PBDDS_NORMAL, L"NORMAL"},
427 {BP_PUSHBUTTONDROPDOWN, PBDDS_DISABLED, L"DISABLED"},
428 {0, 0, L""}
431 static const MSSTYLES_CLASS_MAP classClock[] = {
432 {CLP_TIME, 0, L"TIME"},
433 {CLP_TIME, CLS_NORMAL, L"NORMAL"},
434 {CLP_TIME, CLS_HOT, L"HOT"},
435 {CLP_TIME, CLS_PRESSED, L"PRESSED"},
436 {0, 0, L""}
439 static const MSSTYLES_CLASS_MAP classCombobox[] = {
440 {CP_DROPDOWNBUTTON, 0, L"DROPDOWNBUTTON"},
441 {CP_DROPDOWNBUTTON, CBXS_NORMAL, L"NORMAL"},
442 {CP_DROPDOWNBUTTON, CBXS_HOT, L"HOT"},
443 {CP_DROPDOWNBUTTON, CBXS_PRESSED, L"PRESSED"},
444 {CP_DROPDOWNBUTTON, CBXS_DISABLED, L"DISABLED"},
445 {CP_BACKGROUND, 0, L"BACKGROUND"},
446 {CP_TRANSPARENTBACKGROUND, 0, L"TRANSPARENTBACKGROUND"},
447 {CP_TRANSPARENTBACKGROUND, CBTBS_NORMAL, L"NORMAL"},
448 {CP_TRANSPARENTBACKGROUND, CBTBS_HOT, L"HOT"},
449 {CP_TRANSPARENTBACKGROUND, CBTBS_DISABLED, L"DISABLED"},
450 {CP_TRANSPARENTBACKGROUND, CBTBS_FOCUSED, L"FOCUSED"},
451 {CP_BORDER, 0, L"BORDER"},
452 {CP_BORDER, CBB_NORMAL, L"NORMAL"},
453 {CP_BORDER, CBB_HOT, L"HOT"},
454 {CP_BORDER, CBB_FOCUSED, L"FOCUSED"},
455 {CP_BORDER, CBB_DISABLED, L"DISABLED"},
456 {CP_READONLY, 0, L"READONLY"},
457 {CP_READONLY, CBRO_NORMAL, L"NORMAL"},
458 {CP_READONLY, CBRO_HOT, L"HOT"},
459 {CP_READONLY, CBRO_PRESSED, L"PRESSED"},
460 {CP_READONLY, CBRO_DISABLED, L"DISABLED"},
461 {CP_DROPDOWNBUTTONRIGHT, 0, L"DROPDOWNBUTTONRIGHT"},
462 {CP_DROPDOWNBUTTONRIGHT, CBXSR_NORMAL, L"NORMAL"},
463 {CP_DROPDOWNBUTTONRIGHT, CBXSR_HOT, L"HOT"},
464 {CP_DROPDOWNBUTTONRIGHT, CBXSR_PRESSED, L"PRESSED"},
465 {CP_DROPDOWNBUTTONRIGHT, CBXSR_DISABLED, L"DISABLED"},
466 {CP_DROPDOWNBUTTONLEFT, 0, L"DROPDOWNBUTTONLEFT"},
467 {CP_DROPDOWNBUTTONLEFT, CBXSL_NORMAL, L"NORMAL"},
468 {CP_DROPDOWNBUTTONLEFT, CBXSL_HOT, L"HOT"},
469 {CP_DROPDOWNBUTTONLEFT, CBXSL_PRESSED, L"PRESSED"},
470 {CP_DROPDOWNBUTTONLEFT, CBXSL_DISABLED, L"DISABLED"},
471 {CP_CUEBANNER, 0, L"CUEBANNER"},
472 {CP_CUEBANNER, CBCB_NORMAL, L"NORMAL"},
473 {CP_CUEBANNER, CBCB_HOT, L"HOT"},
474 {CP_CUEBANNER, CBCB_PRESSED, L"PRESSED"},
475 {CP_CUEBANNER, CBCB_DISABLED, L"DISABLED"},
476 {CP_DROPDOWNITEM, 0, L"DROPDOWNITEM"},
477 {CP_DROPDOWNITEM, CBDI_NORMAL, L"NORMAL"},
478 {CP_DROPDOWNITEM, CBDI_HIGHLIGHTED, L"HIGHLIGHTED"},
479 {0, 0, L""}
482 static const MSSTYLES_CLASS_MAP classEdit[] = {
483 {EP_EDITTEXT, 0, L"EDITTEXT"},
484 {EP_EDITTEXT, ETS_NORMAL, L"NORMAL"},
485 {EP_EDITTEXT, ETS_HOT, L"HOT"},
486 {EP_EDITTEXT, ETS_SELECTED, L"SELECTED"},
487 {EP_EDITTEXT, ETS_DISABLED, L"DISABLED"},
488 {EP_EDITTEXT, ETS_FOCUSED, L"FOCUSED"},
489 {EP_EDITTEXT, ETS_READONLY, L"READONLY"},
490 {EP_EDITTEXT, ETS_ASSIST, L"ASSIST"},
491 {EP_CARET, 0, L"CARET"},
492 {0, 0, L""}
495 static const MSSTYLES_CLASS_MAP classExplorerbar[] = {
496 {EBP_HEADERBACKGROUND, 0, L"HEADERBACKGROUND"},
497 {EBP_HEADERCLOSE, 0, L"HEADERCLOSE"},
498 {EBP_HEADERCLOSE, EBHC_NORMAL, L"NORMAL"},
499 {EBP_HEADERCLOSE, EBHC_HOT, L"HOT"},
500 {EBP_HEADERCLOSE, EBHC_PRESSED, L"PRESSED"},
501 {EBP_HEADERPIN, 0, L"HEADERPIN"},
502 {EBP_HEADERPIN, EBHP_NORMAL, L"NORMAL"},
503 {EBP_HEADERPIN, EBHP_HOT, L"HOT"},
504 {EBP_HEADERPIN, EBHP_PRESSED, L"PRESSED"},
505 {EBP_HEADERPIN, EBHP_SELECTEDNORMAL, L"SELECTEDNORMAL"},
506 {EBP_HEADERPIN, EBHP_SELECTEDHOT, L"SELECTEDHOT"},
507 {EBP_HEADERPIN, EBHP_SELECTEDPRESSED, L"SELECTEDPRESSED"},
508 {EBP_IEBARMENU, 0, L"IEBARMENU"},
509 {EBP_IEBARMENU, EBM_NORMAL, L"NORMAL"},
510 {EBP_IEBARMENU, EBM_HOT, L"HOT"},
511 {EBP_IEBARMENU, EBM_PRESSED, L"PRESSED"},
512 {EBP_NORMALGROUPBACKGROUND, 0, L"NORMALGROUPBACKGROUND"},
513 {EBP_NORMALGROUPCOLLAPSE, 0, L"NORMALGROUPCOLLAPSE"},
514 {EBP_NORMALGROUPCOLLAPSE, EBNGC_NORMAL, L"NORMAL"},
515 {EBP_NORMALGROUPCOLLAPSE, EBNGC_HOT, L"HOT"},
516 {EBP_NORMALGROUPCOLLAPSE, EBNGC_PRESSED, L"PRESSED"},
517 {EBP_NORMALGROUPEXPAND, 0, L"NORMALGROUPEXPAND"},
518 {EBP_NORMALGROUPEXPAND, EBNGE_NORMAL, L"NORMAL"},
519 {EBP_NORMALGROUPEXPAND, EBNGE_HOT, L"HOT"},
520 {EBP_NORMALGROUPEXPAND, EBNGE_PRESSED, L"PRESSED"},
521 {EBP_NORMALGROUPHEAD, 0, L"NORMALGROUPHEAD"},
522 {EBP_SPECIALGROUPBACKGROUND, 0, L"SPECIALGROUPBACKGROUND"},
523 {EBP_SPECIALGROUPCOLLAPSE, 0, L"SPECIALGROUPCOLLAPSE"},
524 {EBP_SPECIALGROUPCOLLAPSE, EBSGC_NORMAL, L"NORMAL"},
525 {EBP_SPECIALGROUPCOLLAPSE, EBSGC_HOT, L"HOT"},
526 {EBP_SPECIALGROUPCOLLAPSE, EBSGC_PRESSED, L"PRESSED"},
527 {EBP_SPECIALGROUPEXPAND, 0, L"SPECIALGROUPEXPAND"},
528 {EBP_SPECIALGROUPEXPAND, EBSGE_NORMAL, L"NORMAL"},
529 {EBP_SPECIALGROUPEXPAND, EBSGE_HOT, L"HOT"},
530 {EBP_SPECIALGROUPEXPAND, EBSGE_PRESSED, L"PRESSED"},
531 {EBP_SPECIALGROUPHEAD, 0, L"SPECIALGROUPHEAD"},
532 {0, 0, L""}
535 static const MSSTYLES_CLASS_MAP classHeader[] = {
536 {HP_HEADERITEM, 0, L"HEADERITEM"},
537 {HP_HEADERITEM, HIS_NORMAL, L"NORMAL"},
538 {HP_HEADERITEM, HIS_HOT, L"HOT"},
539 {HP_HEADERITEM, HIS_PRESSED, L"PRESSED"},
540 {HP_HEADERITEMLEFT, 0, L"HEADERITEMLEFT"},
541 {HP_HEADERITEMLEFT, HILS_NORMAL, L"NORMAL"},
542 {HP_HEADERITEMLEFT, HILS_HOT, L"HOT"},
543 {HP_HEADERITEMLEFT, HILS_PRESSED, L"PRESSED"},
544 {HP_HEADERITEMRIGHT, 0, L"HEADERITEMRIGHT"},
545 {HP_HEADERITEMRIGHT, HIRS_NORMAL, L"NORMAL"},
546 {HP_HEADERITEMRIGHT, HIRS_HOT, L"HOT"},
547 {HP_HEADERITEMRIGHT, HIRS_PRESSED, L"PRESSED"},
548 {HP_HEADERSORTARROW, 0, L"HEADERSORTARROW"},
549 {HP_HEADERSORTARROW, HSAS_SORTEDUP, L"SORTEDUP"},
550 {HP_HEADERSORTARROW, HSAS_SORTEDDOWN, L"SORTEDDOWN"},
551 {0, 0, L""}
554 static const MSSTYLES_CLASS_MAP classListview[] = {
555 {LVP_LISTITEM, 0, L"LISTITEM"},
556 {LVP_LISTITEM, LISS_NORMAL, L"NORMAL"},
557 {LVP_LISTITEM, LISS_HOT, L"HOT"},
558 {LVP_LISTITEM, LISS_SELECTED, L"SELECTED"},
559 {LVP_LISTITEM, LISS_DISABLED, L"DISABLED"},
560 {LVP_LISTITEM, LISS_SELECTEDNOTFOCUS, L"SELECTEDNOTFOCUS"},
561 {LVP_LISTITEM, LISS_HOTSELECTED, L"HOTSELECTED"},
562 {LVP_LISTGROUP, 0, L"LISTGROUP"},
563 {LVP_LISTDETAIL, 0, L"LISTDETAIL"},
564 {LVP_LISTSORTEDDETAIL, 0, L"LISTSORTEDDETAIL"},
565 {LVP_EMPTYTEXT, 0, L"EMPTYTEXT"},
566 {0, 0, L""}
569 static const MSSTYLES_CLASS_MAP classMenu[] = {
570 {MENU_MENUITEM_TMSCHEMA, 0, L"MENUITEM"},
571 {MENU_MENUDROPDOWN_TMSCHEMA, 0, L"MENUDROPDOWN"},
572 {MENU_MENUBARITEM_TMSCHEMA, 0, L"MENUBARITEM"},
573 {MENU_MENUBARDROPDOWN_TMSCHEMA, 0, L"MENUBARDROPDOWN"},
574 {MENU_CHEVRON_TMSCHEMA, 0, L"CHEVRON"},
575 {MENU_SEPARATOR_TMSCHEMA, 0, L"SEPARATOR"},
576 {MENU_BARBACKGROUND, 0, L"BARBACKGROUND"},
577 {MENU_BARBACKGROUND, MB_ACTIVE, L"ACTIVE"},
578 {MENU_BARBACKGROUND, MB_INACTIVE, L"INACTIVE"},
579 {MENU_BARITEM, 0, L"BARITEM"},
580 {MENU_BARITEM, MBI_NORMAL, L"NORMAL"},
581 {MENU_BARITEM, MBI_HOT, L"HOT"},
582 {MENU_BARITEM, MBI_PUSHED, L"PUSHED"},
583 {MENU_BARITEM, MBI_DISABLED, L"DISABLED"},
584 {MENU_BARITEM, MBI_DISABLEDHOT, L"DISABLEDHOT"},
585 {MENU_BARITEM, MBI_DISABLEDPUSHED, L"DISABLEDPUSHED"},
586 {MENU_POPUPBACKGROUND, 0, L"POPUPBACKGROUND"},
587 {MENU_POPUPBORDERS, 0, L"POPUPBORDERS"},
588 {MENU_POPUPCHECK, 0, L"POPUPCHECK"},
589 {MENU_POPUPCHECK, MC_CHECKMARKNORMAL, L"CHECKMARKNORMAL"},
590 {MENU_POPUPCHECK, MC_CHECKMARKDISABLED, L"CHECKMARKDISABLED"},
591 {MENU_POPUPCHECK, MC_BULLETNORMAL, L"BULLETNORMAL"},
592 {MENU_POPUPCHECK, MC_BULLETDISABLED, L"BULLETDISABLED"},
593 {MENU_POPUPCHECKBACKGROUND, 0, L"POPUPCHECKBACKGROUND"},
594 {MENU_POPUPCHECKBACKGROUND, MCB_DISABLED, L"DISABLED"},
595 {MENU_POPUPCHECKBACKGROUND, MCB_NORMAL, L"NORMAL"},
596 {MENU_POPUPCHECKBACKGROUND, MCB_BITMAP, L"BITMAP"},
597 {MENU_POPUPGUTTER, 0, L"POPUPGUTTER"},
598 {MENU_POPUPITEM, 0, L"POPUPITEM"},
599 {MENU_POPUPITEM, MPI_NORMAL, L"NORMAL"},
600 {MENU_POPUPITEM, MPI_HOT, L"HOT"},
601 {MENU_POPUPITEM, MPI_DISABLED, L"DISABLED"},
602 {MENU_POPUPITEM, MPI_DISABLEDHOT, L"DISABLEDHOT"},
603 {MENU_POPUPSEPARATOR, 0, L"POPUPSEPARATOR"},
604 {MENU_POPUPSUBMENU, 0, L"POPUPSUBMENU"},
605 {MENU_POPUPSUBMENU, MSM_NORMAL, L"NORMAL"},
606 {MENU_POPUPSUBMENU, MSM_DISABLED, L"DISABLED"},
607 {MENU_SYSTEMCLOSE, 0, L"SYSTEMCLOSE"},
608 {MENU_SYSTEMCLOSE, MSYSC_NORMAL, L"NORMAL"},
609 {MENU_SYSTEMCLOSE, MSYSC_DISABLED, L"DISABLED"},
610 {MENU_SYSTEMMAXIMIZE, 0, L"SYSTEMMAXIMIZE"},
611 {MENU_SYSTEMMAXIMIZE, MSYSMX_NORMAL, L"NORMAL"},
612 {MENU_SYSTEMMAXIMIZE, MSYSMX_DISABLED, L"DISABLED"},
613 {MENU_SYSTEMMINIMIZE, 0, L"SYSTEMMINIMIZE"},
614 {MENU_SYSTEMMINIMIZE, MSYSMN_NORMAL, L"NORMAL"},
615 {MENU_SYSTEMMINIMIZE, MSYSMN_DISABLED, L"DISABLED"},
616 {MENU_SYSTEMRESTORE, 0, L"SYSTEMRESTORE"},
617 {MENU_SYSTEMRESTORE, MSYSR_NORMAL, L"NORMAL"},
618 {MENU_SYSTEMRESTORE, MSYSR_DISABLED, L"DISABLED"},
619 {0, 0, L""}
622 static const MSSTYLES_CLASS_MAP classMenuband[] = {
623 {MDP_NEWAPPBUTTON, 0, L"NEWAPPBUTTON"},
624 {MDP_NEWAPPBUTTON, MDS_NORMAL, L"NORMAL"},
625 {MDP_NEWAPPBUTTON, MDS_HOT, L"HOT"},
626 {MDP_NEWAPPBUTTON, MDS_PRESSED, L"PRESSED"},
627 {MDP_NEWAPPBUTTON, MDS_DISABLED, L"DISABLED"},
628 {MDP_NEWAPPBUTTON, MDS_CHECKED, L"CHECKED"},
629 {MDP_NEWAPPBUTTON, MDS_HOTCHECKED, L"HOTCHECKED"},
630 {MDP_SEPERATOR, 0, L"SEPERATOR"},
631 {0, 0, L""}
634 static const MSSTYLES_CLASS_MAP classPage[] = {
635 {PGRP_UP, 0, L"UP"},
636 {PGRP_UP, UPS_NORMAL, L"NORMAL"},
637 {PGRP_UP, UPS_HOT, L"HOT"},
638 {PGRP_UP, UPS_PRESSED, L"PRESSED"},
639 {PGRP_UP, UPS_DISABLED, L"DISABLED"},
640 {PGRP_DOWN, 0, L"DOWN"},
641 {PGRP_DOWN, DNS_NORMAL, L"NORMAL"},
642 {PGRP_DOWN, DNS_HOT, L"HOT"},
643 {PGRP_DOWN, DNS_PRESSED, L"PRESSED"},
644 {PGRP_DOWN, DNS_DISABLED, L"DISABLED"},
645 {PGRP_UPHORZ, 0, L"UPHORZ"},
646 {PGRP_UPHORZ, UPHZS_NORMAL, L"NORMAL"},
647 {PGRP_UPHORZ, UPHZS_HOT, L"HOT"},
648 {PGRP_UPHORZ, UPHZS_PRESSED, L"PRESSED"},
649 {PGRP_UPHORZ, UPHZS_DISABLED, L"DISABLED"},
650 {PGRP_DOWNHORZ, 0, L"DOWNHORZ"},
651 {PGRP_DOWNHORZ, DNHZS_NORMAL, L"NORMAL"},
652 {PGRP_DOWNHORZ, DNHZS_HOT, L"HOT"},
653 {PGRP_DOWNHORZ, DNHZS_PRESSED, L"PRESSED"},
654 {PGRP_DOWNHORZ, DNHZS_DISABLED, L"DISABLED"},
655 {0, 0, L""}
658 static const MSSTYLES_CLASS_MAP classProgress[] = {
659 {PP_BAR, 0, L"BAR"},
660 {PP_BARVERT, 0, L"BARVERT"},
661 {PP_CHUNK, 0, L"CHUNK"},
662 {PP_CHUNKVERT, 0, L"CHUNKVERT"},
663 {PP_FILL, 0, L"FILL"},
664 {PP_FILL, PBFS_NORMAL, L"NORMAL"},
665 {PP_FILL, PBFS_ERROR, L"ERROR"},
666 {PP_FILL, PBFS_PAUSED, L"PAUSED"},
667 {PP_FILL, PBFS_PARTIAL, L"PARTIAL"},
668 {PP_FILLVERT, 0, L"FILLVERT"},
669 {PP_FILLVERT, PBFVS_NORMAL, L"NORMAL"},
670 {PP_FILLVERT, PBFVS_ERROR, L"ERROR"},
671 {PP_FILLVERT, PBFVS_PAUSED, L"PAUSED"},
672 {PP_FILLVERT, PBFVS_PARTIAL, L"PARTIAL"},
673 {PP_PULSEOVERLAY, 0, L"PULSEOVERLAY"},
674 {PP_MOVEOVERLAY, 0, L"MOVEOVERLAY"},
675 {PP_PULSEOVERLAYVERT, 0, L"PULSEOVERLAYVERT"},
676 {PP_MOVEOVERLAYVERT, 0, L"MOVEOVERLAYVERT"},
677 {PP_TRANSPARENTBAR, 0, L"TRANSPARENTBAR"},
678 {PP_TRANSPARENTBAR, PBBS_NORMAL, L"NORMAL"},
679 {PP_TRANSPARENTBAR, PBBS_PARTIAL, L"PARTIAL"},
680 {PP_TRANSPARENTBARVERT, 0, L"TRANSPARENTBARVERT"},
681 {PP_TRANSPARENTBARVERT, PBBVS_NORMAL, L"NORMAL"},
682 {PP_TRANSPARENTBARVERT, PBBVS_PARTIAL, L"PARTIAL"},
683 {0, 0, L""}
686 static const MSSTYLES_CLASS_MAP classRebar[] = {
687 {RP_GRIPPER, 0, L"GRIPPER"},
688 {RP_GRIPPERVERT, 0, L"GRIPPERVERT"},
689 {RP_BAND, 0, L"BAND"},
690 {RP_CHEVRON, 0, L"CHEVRON"},
691 {RP_CHEVRON, CHEVS_NORMAL, L"NORMAL"},
692 {RP_CHEVRON, CHEVS_HOT, L"HOT"},
693 {RP_CHEVRON, CHEVS_PRESSED, L"PRESSED"},
694 {RP_CHEVRONVERT, 0, L"CHEVRONVERT"},
695 {0, 0, L""}
698 static const MSSTYLES_CLASS_MAP classScrollbar[] = {
699 {SBP_ARROWBTN, 0, L"ARROWBTN"},
700 {SBP_ARROWBTN, ABS_UPNORMAL, L"UPNORMAL"},
701 {SBP_ARROWBTN, ABS_UPHOT, L"UPHOT"},
702 {SBP_ARROWBTN, ABS_UPPRESSED, L"UPPRESSED"},
703 {SBP_ARROWBTN, ABS_UPDISABLED, L"UPDISABLED"},
704 {SBP_ARROWBTN, ABS_DOWNNORMAL, L"DOWNNORMAL"},
705 {SBP_ARROWBTN, ABS_DOWNHOT, L"DOWNHOT"},
706 {SBP_ARROWBTN, ABS_DOWNPRESSED, L"DOWNPRESSED"},
707 {SBP_ARROWBTN, ABS_DOWNDISABLED, L"DOWNDISABLED"},
708 {SBP_ARROWBTN, ABS_LEFTNORMAL, L"LEFTNORMAL"},
709 {SBP_ARROWBTN, ABS_LEFTHOT, L"LEFTHOT"},
710 {SBP_ARROWBTN, ABS_LEFTPRESSED, L"LEFTPRESSED"},
711 {SBP_ARROWBTN, ABS_LEFTDISABLED, L"LEFTDISABLED"},
712 {SBP_ARROWBTN, ABS_RIGHTNORMAL, L"RIGHTNORMAL"},
713 {SBP_ARROWBTN, ABS_RIGHTHOT, L"RIGHTHOT"},
714 {SBP_ARROWBTN, ABS_RIGHTPRESSED, L"RIGHTPRESSED"},
715 {SBP_ARROWBTN, ABS_RIGHTDISABLED, L"RIGHTDISABLED"},
716 {SBP_THUMBBTNHORZ, 0, L"THUMBBTNHORZ"},
717 {SBP_THUMBBTNHORZ, SCRBS_NORMAL, L"NORMAL"},
718 {SBP_THUMBBTNHORZ, SCRBS_HOT, L"HOT"},
719 {SBP_THUMBBTNHORZ, SCRBS_PRESSED, L"PRESSED"},
720 {SBP_THUMBBTNHORZ, SCRBS_DISABLED, L"DISABLED"},
721 {SBP_THUMBBTNVERT, 0, L"THUMBBTNVERT"},
722 {SBP_THUMBBTNVERT, SCRBS_NORMAL, L"NORMAL"},
723 {SBP_THUMBBTNVERT, SCRBS_HOT, L"HOT"},
724 {SBP_THUMBBTNVERT, SCRBS_PRESSED, L"PRESSED"},
725 {SBP_THUMBBTNVERT, SCRBS_DISABLED, L"DISABLED"},
726 {SBP_LOWERTRACKHORZ, 0, L"LOWERTRACKHORZ"},
727 {SBP_LOWERTRACKHORZ, SCRBS_NORMAL, L"NORMAL"},
728 {SBP_LOWERTRACKHORZ, SCRBS_HOT, L"HOT"},
729 {SBP_LOWERTRACKHORZ, SCRBS_PRESSED, L"PRESSED"},
730 {SBP_LOWERTRACKHORZ, SCRBS_DISABLED, L"DISABLED"},
731 {SBP_UPPERTRACKHORZ, 0, L"UPPERTRACKHORZ"},
732 {SBP_UPPERTRACKHORZ, SCRBS_NORMAL, L"NORMAL"},
733 {SBP_UPPERTRACKHORZ, SCRBS_HOT, L"HOT"},
734 {SBP_UPPERTRACKHORZ, SCRBS_PRESSED, L"PRESSED"},
735 {SBP_UPPERTRACKHORZ, SCRBS_DISABLED, L"DISABLED"},
736 {SBP_LOWERTRACKVERT, 0, L"LOWERTRACKVERT"},
737 {SBP_LOWERTRACKVERT, SCRBS_NORMAL, L"NORMAL"},
738 {SBP_LOWERTRACKVERT, SCRBS_HOT, L"HOT"},
739 {SBP_LOWERTRACKVERT, SCRBS_PRESSED, L"PRESSED"},
740 {SBP_LOWERTRACKVERT, SCRBS_DISABLED, L"DISABLED"},
741 {SBP_UPPERTRACKVERT, 0, L"UPPERTRACKVERT"},
742 {SBP_UPPERTRACKVERT, SCRBS_NORMAL, L"NORMAL"},
743 {SBP_UPPERTRACKVERT, SCRBS_HOT, L"HOT"},
744 {SBP_UPPERTRACKVERT, SCRBS_PRESSED, L"PRESSED"},
745 {SBP_UPPERTRACKVERT, SCRBS_DISABLED, L"DISABLED"},
746 {SBP_GRIPPERHORZ, 0, L"GRIPPERHORZ"},
747 {SBP_GRIPPERVERT, 0, L"GRIPPERVERT"},
748 {SBP_SIZEBOX, 0, L"SIZEBOX"},
749 {SBP_SIZEBOX, SZB_RIGHTALIGN, L"RIGHTALIGN"},
750 {SBP_SIZEBOX, SZB_LEFTALIGN, L"LEFTALIGN"},
751 {0, 0, L""}
754 static const MSSTYLES_CLASS_MAP classSpin[] = {
755 {SPNP_UP, 0, L"UP"},
756 {SPNP_UP, UPS_NORMAL, L"NORMAL"},
757 {SPNP_UP, UPS_HOT, L"HOT"},
758 {SPNP_UP, UPS_PRESSED, L"PRESSED"},
759 {SPNP_UP, UPS_DISABLED, L"DISABLED"},
760 {SPNP_DOWN, 0, L"DOWN"},
761 {SPNP_DOWN, DNS_NORMAL, L"NORMAL"},
762 {SPNP_DOWN, DNS_HOT, L"HOT"},
763 {SPNP_DOWN, DNS_PRESSED, L"PRESSED"},
764 {SPNP_DOWN, DNS_DISABLED, L"DISABLED"},
765 {SPNP_UPHORZ, 0, L"UPHORZ"},
766 {SPNP_UPHORZ, UPHZS_NORMAL, L"NORMAL"},
767 {SPNP_UPHORZ, UPHZS_HOT, L"HOT"},
768 {SPNP_UPHORZ, UPHZS_PRESSED, L"PRESSED"},
769 {SPNP_UPHORZ, UPHZS_DISABLED, L"DISABLED"},
770 {SPNP_DOWNHORZ, 0, L"DOWNHORZ"},
771 {SPNP_DOWNHORZ, DNHZS_NORMAL, L"NORMAL"},
772 {SPNP_DOWNHORZ, DNHZS_HOT, L"HOT"},
773 {SPNP_DOWNHORZ, DNHZS_PRESSED, L"PRESSED"},
774 {SPNP_DOWNHORZ, DNHZS_DISABLED, L"DISABLED"},
775 {0, 0, L""}
778 static const MSSTYLES_CLASS_MAP classStartpanel[] = {
779 {SPP_USERPANE, 0, L"USERPANE"},
780 {SPP_MOREPROGRAMS, 0, L"MOREPROGRAMS"},
781 {SPP_MOREPROGRAMSARROW, 0, L"MOREPROGRAMSARROW"},
782 {SPP_MOREPROGRAMSARROW, SPS_NORMAL, L"NORMAL"},
783 {SPP_MOREPROGRAMSARROW, SPS_HOT, L"HOT"},
784 {SPP_MOREPROGRAMSARROW, SPS_PRESSED, L"PRESSED"},
785 {SPP_PROGLIST, 0, L"PROGLIST"},
786 {SPP_PROGLISTSEPARATOR, 0, L"PROGLISTSEPARATOR"},
787 {SPP_PLACESLIST, 0, L"PLACESLIST"},
788 {SPP_PLACESLISTSEPARATOR, 0, L"PLACESLISTSEPARATOR"},
789 {SPP_LOGOFF, 0, L"LOGOFF"},
790 {SPP_LOGOFFBUTTONS, 0, L"LOGOFFBUTTONS"},
791 {SPP_LOGOFFBUTTONS, SPLS_NORMAL, L"NORMAL"},
792 {SPP_LOGOFFBUTTONS, SPLS_HOT, L"HOT"},
793 {SPP_LOGOFFBUTTONS, SPLS_PRESSED, L"PRESSED"},
794 {SPP_USERPICTURE, 0, L"USERPICTURE"},
795 {SPP_PREVIEW, 0, L"PREVIEW"},
796 {0, 0, L""}
799 static const MSSTYLES_CLASS_MAP classStatus[] = {
800 {SP_PANE, 0, L"PANE"},
801 {SP_GRIPPERPANE, 0, L"GRIPPERPANE"},
802 {SP_GRIPPER, 0, L"GRIPPER"},
803 {0, 0, L""}
806 static const MSSTYLES_CLASS_MAP classTab[] = {
807 {TABP_TABITEM, 0, L"TABITEM"},
808 {TABP_TABITEM, TIS_NORMAL, L"NORMAL"},
809 {TABP_TABITEM, TIS_HOT, L"HOT"},
810 {TABP_TABITEM, TIS_SELECTED, L"SELECTED"},
811 {TABP_TABITEM, TIS_DISABLED, L"DISABLED"},
812 {TABP_TABITEM, TIS_FOCUSED, L"FOCUSED"},
813 {TABP_TABITEMLEFTEDGE, 0, L"TABITEMLEFTEDGE"},
814 {TABP_TABITEMLEFTEDGE, TILES_NORMAL, L"NORMAL"},
815 {TABP_TABITEMLEFTEDGE, TILES_HOT, L"HOT"},
816 {TABP_TABITEMLEFTEDGE, TILES_SELECTED, L"SELECTED"},
817 {TABP_TABITEMLEFTEDGE, TILES_DISABLED, L"DISABLED"},
818 {TABP_TABITEMLEFTEDGE, TILES_FOCUSED, L"FOCUSED"},
819 {TABP_TABITEMRIGHTEDGE, 0, L"TABITEMRIGHTEDGE"},
820 {TABP_TABITEMRIGHTEDGE, TIRES_NORMAL, L"NORMAL"},
821 {TABP_TABITEMRIGHTEDGE, TIRES_HOT, L"HOT"},
822 {TABP_TABITEMRIGHTEDGE, TIRES_SELECTED, L"SELECTED"},
823 {TABP_TABITEMRIGHTEDGE, TIRES_DISABLED, L"DISABLED"},
824 {TABP_TABITEMRIGHTEDGE, TIRES_FOCUSED, L"FOCUSED"},
825 {TABP_TABITEMBOTHEDGE, 0, L"TABITEMBOTHEDGE"},
826 {TABP_TABITEMBOTHEDGE, TIBES_NORMAL, L"NORMAL"},
827 {TABP_TABITEMBOTHEDGE, TIBES_HOT, L"HOT"},
828 {TABP_TABITEMBOTHEDGE, TIBES_SELECTED, L"SELECTED"},
829 {TABP_TABITEMBOTHEDGE, TIBES_DISABLED, L"DISABLED"},
830 {TABP_TABITEMBOTHEDGE, TIBES_FOCUSED, L"FOCUSED"},
831 {TABP_TOPTABITEM, 0, L"TOPTABITEM"},
832 {TABP_TOPTABITEM, TTIS_NORMAL, L"NORMAL"},
833 {TABP_TOPTABITEM, TTIS_HOT, L"HOT"},
834 {TABP_TOPTABITEM, TTIS_SELECTED, L"SELECTED"},
835 {TABP_TOPTABITEM, TTIS_DISABLED, L"DISABLED"},
836 {TABP_TOPTABITEM, TTIS_FOCUSED, L"FOCUSED"},
837 {TABP_TOPTABITEMLEFTEDGE, 0, L"TOPTABITEMLEFTEDGE"},
838 {TABP_TOPTABITEMLEFTEDGE, TTILES_NORMAL, L"NORMAL"},
839 {TABP_TOPTABITEMLEFTEDGE, TTILES_HOT, L"HOT"},
840 {TABP_TOPTABITEMLEFTEDGE, TTILES_SELECTED, L"SELECTED"},
841 {TABP_TOPTABITEMLEFTEDGE, TTILES_DISABLED, L"DISABLED"},
842 {TABP_TOPTABITEMLEFTEDGE, TTILES_FOCUSED, L"FOCUSED"},
843 {TABP_TOPTABITEMRIGHTEDGE, 0, L"TOPTABITEMRIGHTEDGE"},
844 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_NORMAL, L"NORMAL"},
845 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_HOT, L"HOT"},
846 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_SELECTED, L"SELECTED"},
847 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_DISABLED, L"DISABLED"},
848 {TABP_TOPTABITEMRIGHTEDGE, TTIRES_FOCUSED, L"FOCUSED"},
849 {TABP_TOPTABITEMBOTHEDGE, 0, L"TOPTABITEMBOTHEDGE"},
850 {TABP_TOPTABITEMBOTHEDGE, TTIBES_NORMAL, L"NORMAL"},
851 {TABP_TOPTABITEMBOTHEDGE, TTIBES_HOT, L"HOT"},
852 {TABP_TOPTABITEMBOTHEDGE, TTIBES_SELECTED, L"SELECTED"},
853 {TABP_TOPTABITEMBOTHEDGE, TTIBES_DISABLED, L"DISABLED"},
854 {TABP_TOPTABITEMBOTHEDGE, TTIBES_FOCUSED, L"FOCUSED"},
855 {TABP_PANE, 0, L"PANE"},
856 {TABP_BODY, 0, L"BODY"},
857 {0, 0, L""}
860 static const MSSTYLES_CLASS_MAP classTaskband[] = {
861 {TDP_GROUPCOUNT, 0, L"GROUPCOUNT"},
862 {TDP_FLASHBUTTON, 0, L"FLASHBUTTON"},
863 {TDP_FLASHBUTTONGROUPMENU, 0, L"FLASHBUTTONGROUPMENU"},
864 {0, 0, L""}
867 static const MSSTYLES_CLASS_MAP classTaskbar[] = {
868 {TBP_BACKGROUNDBOTTOM, 0, L"BACKGROUNDBOTTOM"},
869 {TBP_BACKGROUNDRIGHT, 0, L"BACKGROUNDRIGHT"},
870 {TBP_BACKGROUNDTOP, 0, L"BACKGROUNDTOP"},
871 {TBP_BACKGROUNDLEFT, 0, L"BACKGROUNDLEFT"},
872 {TBP_SIZINGBARBOTTOM, 0, L"SIZINGBARBOTTOM"},
873 {TBP_SIZINGBARRIGHT, 0, L"SIZINGBARRIGHT"},
874 {TBP_SIZINGBARTOP, 0, L"SIZINGBARTOP"},
875 {TBP_SIZINGBARLEFT, 0, L"SIZINGBARLEFT"},
876 {0, 0, L""}
879 static const MSSTYLES_CLASS_MAP classToolbar[] = {
880 {TP_BUTTON, 0, L"BUTTON"},
881 {TP_BUTTON, TS_NORMAL, L"NORMAL"},
882 {TP_BUTTON, TS_HOT, L"HOT"},
883 {TP_BUTTON, TS_PRESSED, L"PRESSED"},
884 {TP_BUTTON, TS_DISABLED, L"DISABLED"},
885 {TP_BUTTON, TS_CHECKED, L"CHECKED"},
886 {TP_BUTTON, TS_HOTCHECKED, L"HOTCHECKED"},
887 {TP_DROPDOWNBUTTON, 0, L"DROPDOWNBUTTON"},
888 {TP_DROPDOWNBUTTON, TS_NORMAL, L"NORMAL"},
889 {TP_DROPDOWNBUTTON, TS_HOT, L"HOT"},
890 {TP_DROPDOWNBUTTON, TS_PRESSED, L"PRESSED"},
891 {TP_DROPDOWNBUTTON, TS_DISABLED, L"DISABLED"},
892 {TP_DROPDOWNBUTTON, TS_CHECKED, L"CHECKED"},
893 {TP_DROPDOWNBUTTON, TS_HOTCHECKED, L"HOTCHECKED"},
894 {TP_SPLITBUTTON, 0, L"SPLITBUTTON"},
895 {TP_SPLITBUTTON, TS_NORMAL, L"NORMAL"},
896 {TP_SPLITBUTTON, TS_HOT, L"HOT"},
897 {TP_SPLITBUTTON, TS_PRESSED, L"PRESSED"},
898 {TP_SPLITBUTTON, TS_DISABLED, L"DISABLED"},
899 {TP_SPLITBUTTON, TS_CHECKED, L"CHECKED"},
900 {TP_SPLITBUTTON, TS_HOTCHECKED, L"HOTCHECKED"},
901 {TP_SPLITBUTTONDROPDOWN, 0, L"SPLITBUTTONDROPDOWN"},
902 {TP_SPLITBUTTONDROPDOWN, TS_NORMAL, L"NORMAL"},
903 {TP_SPLITBUTTONDROPDOWN, TS_HOT, L"HOT"},
904 {TP_SPLITBUTTONDROPDOWN, TS_PRESSED, L"PRESSED"},
905 {TP_SPLITBUTTONDROPDOWN, TS_DISABLED, L"DISABLED"},
906 {TP_SPLITBUTTONDROPDOWN, TS_CHECKED, L"CHECKED"},
907 {TP_SPLITBUTTONDROPDOWN, TS_HOTCHECKED, L"HOTCHECKED"},
908 {TP_SEPARATOR, 0, L"SEPARATOR"},
909 {TP_SEPARATOR, TS_NORMAL, L"NORMAL"},
910 {TP_SEPARATOR, TS_HOT, L"HOT"},
911 {TP_SEPARATOR, TS_PRESSED, L"PRESSED"},
912 {TP_SEPARATOR, TS_DISABLED, L"DISABLED"},
913 {TP_SEPARATOR, TS_CHECKED, L"CHECKED"},
914 {TP_SEPARATOR, TS_HOTCHECKED, L"HOTCHECKED"},
915 {TP_SEPARATORVERT, 0, L"SEPARATORVERT"},
916 {TP_SEPARATORVERT, TS_NORMAL, L"NORMAL"},
917 {TP_SEPARATORVERT, TS_HOT, L"HOT"},
918 {TP_SEPARATORVERT, TS_PRESSED, L"PRESSED"},
919 {TP_SEPARATORVERT, TS_DISABLED, L"DISABLED"},
920 {TP_SEPARATORVERT, TS_CHECKED, L"CHECKED"},
921 {TP_SEPARATORVERT, TS_HOTCHECKED, L"HOTCHECKED"},
922 {0, 0, L""}
925 static const MSSTYLES_CLASS_MAP classTooltip[] = {
926 {TTP_STANDARD, 0, L"STANDARD"},
927 {TTP_STANDARD, TTSS_NORMAL, L"NORMAL"},
928 {TTP_STANDARD, TTSS_LINK, L"LINK"},
929 {TTP_STANDARDTITLE, 0, L"STANDARDTITLE"},
930 {TTP_STANDARDTITLE, TTSS_NORMAL, L"NORMAL"},
931 {TTP_STANDARDTITLE, TTSS_LINK, L"LINK"},
932 {TTP_BALLOON, 0, L"BALLOON"},
933 {TTP_BALLOON, TTBS_NORMAL, L"NORMAL"},
934 {TTP_BALLOON, TTBS_LINK, L"LINK"},
935 {TTP_BALLOONTITLE, 0, L"BALLOONTITLE"},
936 {TTP_BALLOONTITLE, TTBS_NORMAL, L"NORMAL"},
937 {TTP_BALLOONTITLE, TTBS_LINK, L"LINK"},
938 {TTP_CLOSE, 0, L"CLOSE"},
939 {TTP_CLOSE, TTCS_NORMAL, L"NORMAL"},
940 {TTP_CLOSE, TTCS_HOT, L"HOT"},
941 {TTP_CLOSE, TTCS_PRESSED, L"PRESSED"},
942 {0, 0, L""}
945 static const MSSTYLES_CLASS_MAP classTrackbar[] = {
946 {TKP_TRACK, 0, L"TRACK"},
947 {TKP_TRACK, TRS_NORMAL, L"NORMAL"},
948 {TKP_TRACKVERT, 0, L"TRACKVERT"},
949 {TKP_TRACKVERT, TRVS_NORMAL, L"NORMAL"},
950 {TKP_THUMB, 0, L"THUMB"},
951 {TKP_THUMB, TUS_NORMAL, L"NORMAL"},
952 {TKP_THUMB, TUS_HOT, L"HOT"},
953 {TKP_THUMB, TUS_PRESSED, L"PRESSED"},
954 {TKP_THUMB, TUS_FOCUSED, L"FOCUSED"},
955 {TKP_THUMB, TUS_DISABLED, L"DISABLED"},
956 {TKP_THUMBBOTTOM, 0, L"THUMBBOTTOM"},
957 {TKP_THUMBBOTTOM, TUBS_NORMAL, L"NORMAL"},
958 {TKP_THUMBBOTTOM, TUBS_HOT, L"HOT"},
959 {TKP_THUMBBOTTOM, TUBS_PRESSED, L"PRESSED"},
960 {TKP_THUMBBOTTOM, TUBS_FOCUSED, L"FOCUSED"},
961 {TKP_THUMBBOTTOM, TUBS_DISABLED, L"DISABLED"},
962 {TKP_THUMBTOP, 0, L"THUMBTOP"},
963 {TKP_THUMBTOP, TUTS_NORMAL, L"NORMAL"},
964 {TKP_THUMBTOP, TUTS_HOT, L"HOT"},
965 {TKP_THUMBTOP, TUTS_PRESSED, L"PRESSED"},
966 {TKP_THUMBTOP, TUTS_FOCUSED, L"FOCUSED"},
967 {TKP_THUMBTOP, TUTS_DISABLED, L"DISABLED"},
968 {TKP_THUMBVERT, 0, L"THUMBVERT"},
969 {TKP_THUMBVERT, TUVS_NORMAL, L"NORMAL"},
970 {TKP_THUMBVERT, TUVS_HOT, L"HOT"},
971 {TKP_THUMBVERT, TUVS_PRESSED, L"PRESSED"},
972 {TKP_THUMBVERT, TUVS_FOCUSED, L"FOCUSED"},
973 {TKP_THUMBVERT, TUVS_DISABLED, L"DISABLED"},
974 {TKP_THUMBLEFT, 0, L"THUMBLEFT"},
975 {TKP_THUMBLEFT, TUVLS_NORMAL, L"NORMAL"},
976 {TKP_THUMBLEFT, TUVLS_HOT, L"HOT"},
977 {TKP_THUMBLEFT, TUVLS_PRESSED, L"PRESSED"},
978 {TKP_THUMBLEFT, TUVLS_FOCUSED, L"FOCUSED"},
979 {TKP_THUMBLEFT, TUVLS_DISABLED, L"DISABLED"},
980 {TKP_THUMBRIGHT, 0, L"THUMBRIGHT"},
981 {TKP_THUMBRIGHT, TUVRS_NORMAL, L"NORMAL"},
982 {TKP_THUMBRIGHT, TUVRS_HOT, L"HOT"},
983 {TKP_THUMBRIGHT, TUVRS_PRESSED, L"PRESSED"},
984 {TKP_THUMBRIGHT, TUVRS_FOCUSED, L"FOCUSED"},
985 {TKP_THUMBRIGHT, TUVRS_DISABLED, L"DISABLED"},
986 {TKP_TICS, 0, L"TICS"},
987 {TKP_TICS, TSS_NORMAL, L"NORMAL"},
988 {TKP_TICSVERT, 0, L"TICSVERT"},
989 {TKP_TICSVERT, TSVS_NORMAL, L"NORMAL"},
990 {0, 0, L""}
993 static const MSSTYLES_CLASS_MAP classTraynotify[] = {
994 {TNP_BACKGROUND, 0, L"BACKGROUND"},
995 {TNP_ANIMBACKGROUND, 0, L"ANIMBACKGROUND"},
996 {0, 0, L""}
999 static const MSSTYLES_CLASS_MAP classTreeview[] = {
1000 {TVP_TREEITEM, 0, L"TREEITEM"},
1001 {TVP_TREEITEM, TREIS_NORMAL, L"NORMAL"},
1002 {TVP_TREEITEM, TREIS_HOT, L"HOT"},
1003 {TVP_TREEITEM, TREIS_SELECTED, L"SELECTED"},
1004 {TVP_TREEITEM, TREIS_DISABLED, L"DISABLED"},
1005 {TVP_TREEITEM, TREIS_SELECTEDNOTFOCUS, L"SELECTEDNOTFOCUS"},
1006 {TVP_GLYPH, 0, L"GLYPH"},
1007 {TVP_GLYPH, GLPS_CLOSED, L"CLOSED"},
1008 {TVP_GLYPH, GLPS_OPENED, L"OPENED"},
1009 {TVP_BRANCH, 0, L"BRANCH"},
1010 {0, 0, L""}
1013 static const MSSTYLES_CLASS_MAP classWindow[] = {
1014 {WP_CAPTION, 0, L"CAPTION"},
1015 {WP_CAPTION, CS_ACTIVE, L"ACTIVE"},
1016 {WP_CAPTION, CS_INACTIVE, L"INACTIVE"},
1017 {WP_CAPTION, CS_DISABLED, L"DISABLED"},
1018 {WP_SMALLCAPTION, 0, L"SMALLCAPTION"},
1019 {WP_SMALLCAPTION, CS_ACTIVE, L"ACTIVE"},
1020 {WP_SMALLCAPTION, CS_INACTIVE, L"INACTIVE"},
1021 {WP_SMALLCAPTION, CS_DISABLED, L"DISABLED"},
1022 {WP_MINCAPTION, 0, L"MINCAPTION"},
1023 {WP_MINCAPTION, MNCS_ACTIVE, L"ACTIVE"},
1024 {WP_MINCAPTION, MNCS_INACTIVE, L"INACTIVE"},
1025 {WP_MINCAPTION, MNCS_DISABLED, L"DISABLED"},
1026 {WP_SMALLMINCAPTION, 0, L"SMALLMINCAPTION"},
1027 {WP_SMALLMINCAPTION, MNCS_ACTIVE, L"ACTIVE"},
1028 {WP_SMALLMINCAPTION, MNCS_INACTIVE, L"INACTIVE"},
1029 {WP_SMALLMINCAPTION, MNCS_DISABLED, L"DISABLED"},
1030 {WP_MAXCAPTION, 0, L"MAXCAPTION"},
1031 {WP_MAXCAPTION, MXCS_ACTIVE, L"ACTIVE"},
1032 {WP_MAXCAPTION, MXCS_INACTIVE, L"INACTIVE"},
1033 {WP_MAXCAPTION, MXCS_DISABLED, L"DISABLED"},
1034 {WP_SMALLMAXCAPTION, 0, L"SMALLMAXCAPTION"},
1035 {WP_SMALLMAXCAPTION, MXCS_ACTIVE, L"ACTIVE"},
1036 {WP_SMALLMAXCAPTION, MXCS_INACTIVE, L"INACTIVE"},
1037 {WP_SMALLMAXCAPTION, MXCS_DISABLED, L"DISABLED"},
1038 {WP_FRAMELEFT, 0, L"FRAMELEFT"},
1039 {WP_FRAMELEFT, FS_ACTIVE, L"ACTIVE"},
1040 {WP_FRAMELEFT, FS_INACTIVE, L"INACTIVE"},
1041 {WP_FRAMERIGHT, 0, L"FRAMERIGHT"},
1042 {WP_FRAMERIGHT, FS_ACTIVE, L"ACTIVE"},
1043 {WP_FRAMERIGHT, FS_INACTIVE, L"INACTIVE"},
1044 {WP_FRAMEBOTTOM, 0, L"FRAMEBOTTOM"},
1045 {WP_FRAMEBOTTOM, FS_ACTIVE, L"ACTIVE"},
1046 {WP_FRAMEBOTTOM, FS_INACTIVE, L"INACTIVE"},
1047 {WP_SMALLFRAMELEFT, 0, L"SMALLFRAMELEFT"},
1048 {WP_SMALLFRAMELEFT, FS_ACTIVE, L"ACTIVE"},
1049 {WP_SMALLFRAMELEFT, FS_INACTIVE, L"INACTIVE"},
1050 {WP_SMALLFRAMERIGHT, 0, L"SMALLFRAMERIGHT"},
1051 {WP_SMALLFRAMERIGHT, FS_ACTIVE, L"ACTIVE"},
1052 {WP_SMALLFRAMERIGHT, FS_INACTIVE, L"INACTIVE"},
1053 {WP_SMALLFRAMEBOTTOM, 0, L"SMALLFRAMEBOTTOM"},
1054 {WP_SMALLFRAMEBOTTOM, FS_ACTIVE, L"ACTIVE"},
1055 {WP_SMALLFRAMEBOTTOM, FS_INACTIVE, L"INACTIVE"},
1056 {WP_SYSBUTTON, 0, L"SYSBUTTON"},
1057 {WP_SYSBUTTON, SBS_NORMAL, L"NORMAL"},
1058 {WP_SYSBUTTON, SBS_HOT, L"HOT"},
1059 {WP_SYSBUTTON, SBS_PUSHED, L"PUSHED"},
1060 {WP_SYSBUTTON, SBS_DISABLED, L"DISABLED"},
1061 {WP_MDISYSBUTTON, 0, L"MDISYSBUTTON"},
1062 {WP_MDISYSBUTTON, SBS_NORMAL, L"NORMAL"},
1063 {WP_MDISYSBUTTON, SBS_HOT, L"HOT"},
1064 {WP_MDISYSBUTTON, SBS_PUSHED, L"PUSHED"},
1065 {WP_MDISYSBUTTON, SBS_DISABLED, L"DISABLED"},
1066 {WP_MINBUTTON, 0, L"MINBUTTON"},
1067 {WP_MINBUTTON, MINBS_NORMAL, L"NORMAL"},
1068 {WP_MINBUTTON, MINBS_HOT, L"HOT"},
1069 {WP_MINBUTTON, MINBS_PUSHED, L"PUSHED"},
1070 {WP_MINBUTTON, MINBS_DISABLED, L"DISABLED"},
1071 {WP_MDIMINBUTTON, 0, L"MDIMINBUTTON"},
1072 {WP_MDIMINBUTTON, MINBS_NORMAL, L"NORMAL"},
1073 {WP_MDIMINBUTTON, MINBS_HOT, L"HOT"},
1074 {WP_MDIMINBUTTON, MINBS_PUSHED, L"PUSHED"},
1075 {WP_MDIMINBUTTON, MINBS_DISABLED, L"DISABLED"},
1076 {WP_MAXBUTTON, 0, L"MAXBUTTON"},
1077 {WP_MAXBUTTON, MAXBS_NORMAL, L"NORMAL"},
1078 {WP_MAXBUTTON, MAXBS_HOT, L"HOT"},
1079 {WP_MAXBUTTON, MAXBS_PUSHED, L"PUSHED"},
1080 {WP_MAXBUTTON, MAXBS_DISABLED, L"DISABLED"},
1081 {WP_CLOSEBUTTON, 0, L"CLOSEBUTTON"},
1082 {WP_CLOSEBUTTON, CBS_NORMAL, L"NORMAL"},
1083 {WP_CLOSEBUTTON, CBS_HOT, L"HOT"},
1084 {WP_CLOSEBUTTON, CBS_PUSHED, L"PUSHED"},
1085 {WP_CLOSEBUTTON, CBS_DISABLED, L"DISABLED"},
1086 {WP_SMALLCLOSEBUTTON, 0, L"SMALLCLOSEBUTTON"},
1087 {WP_SMALLCLOSEBUTTON, CBS_NORMAL, L"NORMAL"},
1088 {WP_SMALLCLOSEBUTTON, CBS_HOT, L"HOT"},
1089 {WP_SMALLCLOSEBUTTON, CBS_PUSHED, L"PUSHED"},
1090 {WP_SMALLCLOSEBUTTON, CBS_DISABLED, L"DISABLED"},
1091 {WP_MDICLOSEBUTTON, 0, L"MDICLOSEBUTTON"},
1092 {WP_MDICLOSEBUTTON, CBS_NORMAL, L"NORMAL"},
1093 {WP_MDICLOSEBUTTON, CBS_HOT, L"HOT"},
1094 {WP_MDICLOSEBUTTON, CBS_PUSHED, L"PUSHED"},
1095 {WP_MDICLOSEBUTTON, CBS_DISABLED, L"DISABLED"},
1096 {WP_RESTOREBUTTON, 0, L"RESTOREBUTTON"},
1097 {WP_RESTOREBUTTON, RBS_NORMAL, L"NORMAL"},
1098 {WP_RESTOREBUTTON, RBS_HOT, L"HOT"},
1099 {WP_RESTOREBUTTON, RBS_PUSHED, L"PUSHED"},
1100 {WP_RESTOREBUTTON, RBS_DISABLED, L"DISABLED"},
1101 {WP_MDIRESTOREBUTTON, 0, L"MDIRESTOREBUTTON"},
1102 {WP_MDIRESTOREBUTTON, RBS_NORMAL, L"NORMAL"},
1103 {WP_MDIRESTOREBUTTON, RBS_HOT, L"HOT"},
1104 {WP_MDIRESTOREBUTTON, RBS_PUSHED, L"PUSHED"},
1105 {WP_MDIRESTOREBUTTON, RBS_DISABLED, L"DISABLED"},
1106 {WP_HELPBUTTON, 0, L"HELPBUTTON"},
1107 {WP_HELPBUTTON, HBS_NORMAL, L"NORMAL"},
1108 {WP_HELPBUTTON, HBS_HOT, L"HOT"},
1109 {WP_HELPBUTTON, HBS_PUSHED, L"PUSHED"},
1110 {WP_HELPBUTTON, HBS_DISABLED, L"DISABLED"},
1111 {WP_MDIHELPBUTTON, 0, L"MDIHELPBUTTON"},
1112 {WP_MDIHELPBUTTON, HBS_NORMAL, L"NORMAL"},
1113 {WP_MDIHELPBUTTON, HBS_HOT, L"HOT"},
1114 {WP_MDIHELPBUTTON, HBS_PUSHED, L"PUSHED"},
1115 {WP_MDIHELPBUTTON, HBS_DISABLED, L"DISABLED"},
1116 {WP_HORZSCROLL, 0, L"HORZSCROLL"},
1117 {WP_HORZSCROLL, HSS_NORMAL, L"NORMAL"},
1118 {WP_HORZSCROLL, HSS_HOT, L"HOT"},
1119 {WP_HORZSCROLL, HSS_PUSHED, L"PUSHED"},
1120 {WP_HORZSCROLL, HSS_DISABLED, L"DISABLED"},
1121 {WP_HORZTHUMB, 0, L"HORZTHUMB"},
1122 {WP_HORZTHUMB, HTS_NORMAL, L"NORMAL"},
1123 {WP_HORZTHUMB, HTS_HOT, L"HOT"},
1124 {WP_HORZTHUMB, HTS_PUSHED, L"PUSHED"},
1125 {WP_HORZTHUMB, HTS_DISABLED, L"DISABLED"},
1126 {WP_VERTSCROLL, 0, L"VERTSCROLL"},
1127 {WP_VERTSCROLL, VSS_NORMAL, L"NORMAL"},
1128 {WP_VERTSCROLL, VSS_HOT, L"HOT"},
1129 {WP_VERTSCROLL, VSS_PUSHED, L"PUSHED"},
1130 {WP_VERTSCROLL, VSS_DISABLED, L"DISABLED"},
1131 {WP_VERTTHUMB, 0, L"VERTTHUMB"},
1132 {WP_VERTTHUMB, VTS_NORMAL, L"NORMAL"},
1133 {WP_VERTTHUMB, VTS_HOT, L"HOT"},
1134 {WP_VERTTHUMB, VTS_PUSHED, L"PUSHED"},
1135 {WP_VERTTHUMB, VTS_DISABLED, L"DISABLED"},
1136 {WP_DIALOG, 0, L"DIALOG"},
1137 {WP_CAPTIONSIZINGTEMPLATE, 0, L"CAPTIONSIZINGTEMPLATE"},
1138 {WP_SMALLCAPTIONSIZINGTEMPLATE, 0, L"SMALLCAPTIONSIZINGTEMPLATE"},
1139 {WP_FRAMELEFTSIZINGTEMPLATE, 0, L"FRAMELEFTSIZINGTEMPLATE"},
1140 {WP_SMALLFRAMELEFTSIZINGTEMPLATE, 0, L"SMALLFRAMELEFTSIZINGTEMPLATE"},
1141 {WP_FRAMERIGHTSIZINGTEMPLATE, 0, L"FRAMERIGHTSIZINGTEMPLATE"},
1142 {WP_SMALLFRAMERIGHTSIZINGTEMPLATE, 0, L"SMALLFRAMERIGHTSIZINGTEMPLATE"},
1143 {WP_FRAMEBOTTOMSIZINGTEMPLATE, 0, L"FRAMEBOTTOMSIZINGTEMPLATE"},
1144 {WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE, 0, L"SMALLFRAMEBOTTOMSIZINGTEMPLATE"},
1145 {0, 0, L""}
1148 /* Map class names to part/state maps */
1149 static const MSSTYLES_CLASS_NAME mapClass[] = {
1150 {classButton, L"BUTTON"},
1151 {classClock, L"CLOCK"},
1152 {classCombobox, L"COMBOBOX"},
1153 {classEdit, L"EDIT"},
1154 {classExplorerbar, L"EXPLORERBAR"},
1155 {classHeader, L"HEADER"},
1156 {classListview, L"LISTVIEW"},
1157 {classMenu, L"MENU"},
1158 {classMenuband, L"MENUBAND"},
1159 {classPage, L"PAGE"},
1160 {classProgress, L"PROGRESS"},
1161 {classRebar, L"REBAR"},
1162 {classScrollbar, L"SCROLLBAR"},
1163 {classSpin, L"SPIN"},
1164 {classStartpanel, L"STARTPANEL"},
1165 {classStatus, L"STATUS"},
1166 {classTab, L"TAB"},
1167 {classTaskband, L"TASKBAND"},
1168 {classTaskbar, L"TASKBAR"},
1169 {classToolbar, L"TOOLBAR"},
1170 {classTooltip, L"TOOLTIP"},
1171 {classTrackbar, L"TRACKBAR"},
1172 {classTraynotify, L"TRAYNOTIFY"},
1173 {classTreeview, L"TREEVIEW"},
1174 {classWindow, L"WINDOW"}
1177 BOOL MSSTYLES_LookupPartState(LPCWSTR pszClass, LPCWSTR pszPart, LPCWSTR pszState, int *iPartId, int *iStateId)
1179 unsigned int i;
1180 const MSSTYLES_CLASS_MAP *map;
1182 *iPartId = 0;
1183 *iStateId = 0;
1184 for(i=0; i<ARRAY_SIZE(mapClass); i++) {
1185 if(!lstrcmpiW(mapClass[i].pszClass, pszClass)) {
1186 map = mapClass[i].lpMap;
1187 if(pszPart) {
1188 do {
1189 if(map->dwStateID == 0 && !lstrcmpiW(map->szName, pszPart)) {
1190 *iPartId = map->dwPartID;
1191 break;
1193 } while(*((++map)->szName));
1195 if(pszState) {
1196 if(pszPart && *iPartId == 0) {
1197 break;
1199 do {
1200 if(pszPart) {
1201 if(map->dwPartID == *iPartId && !lstrcmpiW(map->szName, pszState)) {
1202 *iStateId = map->dwStateID;
1203 break;
1206 else {
1207 if(!lstrcmpiW(map->szName, pszState)) {
1208 *iStateId = map->dwStateID;
1209 break;
1212 } while(*((++map)->szName));
1214 break;
1217 if(pszPart && *iPartId == 0) {
1218 return FALSE;
1220 if(pszState && *iStateId == 0) {
1221 return FALSE;
1223 return TRUE;
1226 /**********************************************************************
1227 * MSSTYLES_LookupProperty
1229 * Find a property ID from name
1231 * PARAMS
1232 * pszPropertyName Name of property to lookup
1233 * dwPrimitive Location to store primitive type of property
1234 * dwId Location to store ID of property
1236 * RETURNS
1237 * FALSE if value is not found, TRUE otherwise
1239 BOOL MSSTYLES_LookupProperty(LPCWSTR pszPropertyName, int *dwPrimitive, int *dwId)
1241 DWORD item = 0;
1242 do {
1243 if(!lstrcmpiW(mapProperty[item].szPropertyName, pszPropertyName)) {
1244 if(dwPrimitive) *dwPrimitive = mapProperty[item].dwPrimitiveType;
1245 if(dwId) *dwId = mapProperty[item].dwPropertyID;
1246 return TRUE;
1248 } while(*mapProperty[++item].szPropertyName);
1249 return FALSE;
1252 /**********************************************************************
1253 * MSSTYLES_LookupEnum
1255 * Lookup the value for an enumeration
1257 * PARAMS
1258 * pszValueName Value name to lookup
1259 * dwEnum Enumeration property ID to search
1260 * dwValue Location to store value
1262 * RETURNS
1263 * FALSE if value is not found, TRUE otherwise
1265 BOOL MSSTYLES_LookupEnum(LPCWSTR pszValueName, int dwEnum, int *dwValue)
1267 DWORD item = 0;
1268 /* Locate the enum block */
1269 while(*mapEnum[item].szValueName && mapEnum[item].dwEnum != dwEnum) item++;
1270 /* Now find the value in that block */
1271 while(*mapEnum[item].szValueName && mapEnum[item].dwEnum == dwEnum) {
1272 if(!lstrcmpiW(mapEnum[item].szValueName, pszValueName)) {
1273 if(dwValue) *dwValue = mapEnum[item].dwValue;
1274 return TRUE;
1276 item++;
1278 return FALSE;