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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
32 #include "wine/debug.h"
34 WINE_DEFAULT_DEBUG_CHANNEL(uxtheme
);
36 typedef struct _MSSTYLES_PROPERTY_MAP
{
39 WCHAR szPropertyName
[24];
40 } MSSTYLES_PROPERTY_MAP
, *PMSSTYLES_PROPERTY_MAP
;
42 typedef struct _MSSTYLES_ENUM_MAP
{
45 WCHAR szValueName
[18];
46 } MSSTYLES_ENUM_MAP
, *PMSSTYLES_ENUM_MAP
;
48 typedef struct _MSSTYLES_CLASS_MAP
{
52 } MSSTYLES_CLASS_MAP
, *PMSSTYLES_CLASS_MAP
;
54 typedef struct _MSSTYLES_CLASS_NAME
{
55 const MSSTYLES_CLASS_MAP
*lpMap
;
57 } MSSTYLES_CLASS_NAME
, *PMSSTYLES_CLASS_NAME
;
59 /***********************************************************************
60 * Map property names to IDs & primitive types
61 * PrimitiveType,PropertyID,PropertyName
63 static const MSSTYLES_PROPERTY_MAP mapProperty
[] = {
64 {TMT_STRING
,TMT_STRING
,{'S','T','R','I','N','G','\0'}},
65 {TMT_INT
,TMT_INT
,{'I','N','T','\0'}},
66 {TMT_BOOL
,TMT_BOOL
,{'B','O','O','L','\0'}},
67 {TMT_COLOR
,TMT_COLOR
,{'C','O','L','O','R','\0'}},
68 {TMT_MARGINS
,TMT_MARGINS
,{'M','A','R','G','I','N','S','\0'}},
69 {TMT_FILENAME
,TMT_FILENAME
,{'F','I','L','E','N','A','M','E','\0'}},
70 {TMT_SIZE
,TMT_SIZE
,{'S','I','Z','E','\0'}},
71 {TMT_POSITION
,TMT_POSITION
,{'P','O','S','I','T','I','O','N','\0'}},
72 {TMT_RECT
,TMT_RECT
,{'R','E','C','T','\0'}},
73 {TMT_FONT
,TMT_FONT
,{'F','O','N','T','\0'}},
74 {TMT_INTLIST
,TMT_INTLIST
,{'I','N','T','L','I','S','T','\0'}},
75 {TMT_STRING
,TMT_COLORSCHEMES
,{'C','O','L','O','R','S','C','H','E','M','E','S','\0'}},
76 {TMT_STRING
,TMT_SIZES
,{'S','I','Z','E','S','\0'}},
77 {TMT_INT
,TMT_CHARSET
,{'C','H','A','R','S','E','T','\0'}},
78 {TMT_STRING
,TMT_DISPLAYNAME
,{'D','I','S','P','L','A','Y','N','A','M','E','\0'}},
79 {TMT_STRING
,TMT_TOOLTIP
,{'T','O','O','L','T','I','P','\0'}},
80 {TMT_STRING
,TMT_COMPANY
,{'C','O','M','P','A','N','Y','\0'}},
81 {TMT_STRING
,TMT_AUTHOR
,{'A','U','T','H','O','R','\0'}},
82 {TMT_STRING
,TMT_COPYRIGHT
,{'C','O','P','Y','R','I','G','H','T','\0'}},
83 {TMT_STRING
,TMT_URL
,{'U','R','L','\0'}},
84 {TMT_STRING
,TMT_VERSION
,{'V','E','R','S','I','O','N','\0'}},
85 {TMT_STRING
,TMT_DESCRIPTION
,{'D','E','S','C','R','I','P','T','I','O','N','\0'}},
86 {TMT_FONT
,TMT_CAPTIONFONT
,{'C','A','P','T','I','O','N','F','O','N','T','\0'}},
87 {TMT_FONT
,TMT_SMALLCAPTIONFONT
,{'S','M','A','L','L','C','A','P','T','I','O','N','F','O','N','T','\0'}},
88 {TMT_FONT
,TMT_MENUFONT
,{'M','E','N','U','F','O','N','T','\0'}},
89 {TMT_FONT
,TMT_STATUSFONT
,{'S','T','A','T','U','S','F','O','N','T','\0'}},
90 {TMT_FONT
,TMT_MSGBOXFONT
,{'M','S','G','B','O','X','F','O','N','T','\0'}},
91 {TMT_FONT
,TMT_ICONTITLEFONT
,{'I','C','O','N','T','I','T','L','E','F','O','N','T','\0'}},
92 {TMT_BOOL
,TMT_FLATMENUS
,{'F','L','A','T','M','E','N','U','S','\0'}},
93 {TMT_SIZE
,TMT_SIZINGBORDERWIDTH
,{'S','I','Z','I','N','G','B','O','R','D','E','R','W','I','D','T','H','\0'}},
94 {TMT_SIZE
,TMT_SCROLLBARWIDTH
,{'S','C','R','O','L','L','B','A','R','W','I','D','T','H','\0'}},
95 {TMT_SIZE
,TMT_SCROLLBARHEIGHT
,{'S','C','R','O','L','L','B','A','R','H','E','I','G','H','T','\0'}},
96 {TMT_SIZE
,TMT_CAPTIONBARWIDTH
,{'C','A','P','T','I','O','N','B','A','R','W','I','D','T','H','\0'}},
97 {TMT_SIZE
,TMT_CAPTIONBARHEIGHT
,{'C','A','P','T','I','O','N','B','A','R','H','E','I','G','H','T','\0'}},
98 {TMT_SIZE
,TMT_SMCAPTIONBARWIDTH
,{'S','M','C','A','P','T','I','O','N','B','A','R','W','I','D','T','H','\0'}},
99 {TMT_SIZE
,TMT_SMCAPTIONBARHEIGHT
,{'S','M','C','A','P','T','I','O','N','B','A','R','H','E','I','G','H','T','\0'}},
100 {TMT_SIZE
,TMT_MENUBARWIDTH
,{'M','E','N','U','B','A','R','W','I','D','T','H','\0'}},
101 {TMT_SIZE
,TMT_MENUBARHEIGHT
,{'M','E','N','U','B','A','R','H','E','I','G','H','T','\0'}},
102 {TMT_INT
,TMT_MINCOLORDEPTH
,{'M','I','N','C','O','L','O','R','D','E','P','T','H','\0'}},
103 {TMT_STRING
,TMT_CSSNAME
,{'C','S','S','N','A','M','E','\0'}},
104 {TMT_STRING
,TMT_XMLNAME
,{'X','M','L','N','A','M','E','\0'}},
105 {TMT_COLOR
,TMT_SCROLLBAR
,{'S','C','R','O','L','L','B','A','R','\0'}},
106 {TMT_COLOR
,TMT_BACKGROUND
,{'B','A','C','K','G','R','O','U','N','D','\0'}},
107 {TMT_COLOR
,TMT_ACTIVECAPTION
,{'A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
108 {TMT_COLOR
,TMT_INACTIVECAPTION
,{'I','N','A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
109 {TMT_COLOR
,TMT_MENU
,{'M','E','N','U','\0'}},
110 {TMT_COLOR
,TMT_WINDOW
,{'W','I','N','D','O','W','\0'}},
111 {TMT_COLOR
,TMT_WINDOWFRAME
,{'W','I','N','D','O','W','F','R','A','M','E','\0'}},
112 {TMT_COLOR
,TMT_MENUTEXT
,{'M','E','N','U','T','E','X','T','\0'}},
113 {TMT_COLOR
,TMT_WINDOWTEXT
,{'W','I','N','D','O','W','T','E','X','T','\0'}},
114 {TMT_COLOR
,TMT_CAPTIONTEXT
,{'C','A','P','T','I','O','N','T','E','X','T','\0'}},
115 {TMT_COLOR
,TMT_ACTIVEBORDER
,{'A','C','T','I','V','E','B','O','R','D','E','R','\0'}},
116 {TMT_COLOR
,TMT_INACTIVEBORDER
,{'I','N','A','C','T','I','V','E','B','O','R','D','E','R','\0'}},
117 {TMT_COLOR
,TMT_APPWORKSPACE
,{'A','P','P','W','O','R','K','S','P','A','C','E','\0'}},
118 {TMT_COLOR
,TMT_HIGHLIGHT
,{'H','I','G','H','L','I','G','H','T','\0'}},
119 {TMT_COLOR
,TMT_HIGHLIGHTTEXT
,{'H','I','G','H','L','I','G','H','T','T','E','X','T','\0'}},
120 {TMT_COLOR
,TMT_BTNFACE
,{'B','T','N','F','A','C','E','\0'}},
121 {TMT_COLOR
,TMT_BTNSHADOW
,{'B','T','N','S','H','A','D','O','W','\0'}},
122 {TMT_COLOR
,TMT_GRAYTEXT
,{'G','R','A','Y','T','E','X','T','\0'}},
123 {TMT_COLOR
,TMT_BTNTEXT
,{'B','T','N','T','E','X','T','\0'}},
124 {TMT_COLOR
,TMT_INACTIVECAPTIONTEXT
,{'I','N','A','C','T','I','V','E','C','A','P','T','I','O','N','T','E','X','T','\0'}},
125 {TMT_COLOR
,TMT_BTNHIGHLIGHT
,{'B','T','N','H','I','G','H','L','I','G','H','T','\0'}},
126 {TMT_COLOR
,TMT_DKSHADOW3D
,{'D','K','S','H','A','D','O','W','3','D','\0'}},
127 {TMT_COLOR
,TMT_LIGHT3D
,{'L','I','G','H','T','3','D','\0'}},
128 {TMT_COLOR
,TMT_INFOTEXT
,{'I','N','F','O','T','E','X','T','\0'}},
129 {TMT_COLOR
,TMT_INFOBK
,{'I','N','F','O','B','K','\0'}},
130 {TMT_COLOR
,TMT_BUTTONALTERNATEFACE
,{'B','U','T','T','O','N','A','L','T','E','R','N','A','T','E','F','A','C','E','\0'}},
131 {TMT_COLOR
,TMT_HOTTRACKING
,{'H','O','T','T','R','A','C','K','I','N','G','\0'}},
132 {TMT_COLOR
,TMT_GRADIENTACTIVECAPTION
,{'G','R','A','D','I','E','N','T','A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
133 {TMT_COLOR
,TMT_GRADIENTINACTIVECAPTION
,{'G','R','A','D','I','E','N','T','I','N','A','C','T','I','V','E','C','A','P','T','I','O','N','\0'}},
134 {TMT_COLOR
,TMT_MENUHILIGHT
,{'M','E','N','U','H','I','L','I','G','H','T','\0'}},
135 {TMT_COLOR
,TMT_MENUBAR
,{'M','E','N','U','B','A','R','\0'}},
136 {TMT_INT
,TMT_FROMHUE1
,{'F','R','O','M','H','U','E','1','\0'}},
137 {TMT_INT
,TMT_FROMHUE2
,{'F','R','O','M','H','U','E','2','\0'}},
138 {TMT_INT
,TMT_FROMHUE3
,{'F','R','O','M','H','U','E','3','\0'}},
139 {TMT_INT
,TMT_FROMHUE4
,{'F','R','O','M','H','U','E','4','\0'}},
140 {TMT_INT
,TMT_FROMHUE5
,{'F','R','O','M','H','U','E','5','\0'}},
141 {TMT_INT
,TMT_TOHUE1
,{'T','O','H','U','E','1','\0'}},
142 {TMT_INT
,TMT_TOHUE2
,{'T','O','H','U','E','2','\0'}},
143 {TMT_INT
,TMT_TOHUE3
,{'T','O','H','U','E','3','\0'}},
144 {TMT_INT
,TMT_TOHUE4
,{'T','O','H','U','E','4','\0'}},
145 {TMT_INT
,TMT_TOHUE5
,{'T','O','H','U','E','5','\0'}},
146 {TMT_COLOR
,TMT_FROMCOLOR1
,{'F','R','O','M','C','O','L','O','R','1','\0'}},
147 {TMT_COLOR
,TMT_FROMCOLOR2
,{'F','R','O','M','C','O','L','O','R','2','\0'}},
148 {TMT_COLOR
,TMT_FROMCOLOR3
,{'F','R','O','M','C','O','L','O','R','3','\0'}},
149 {TMT_COLOR
,TMT_FROMCOLOR4
,{'F','R','O','M','C','O','L','O','R','4','\0'}},
150 {TMT_COLOR
,TMT_FROMCOLOR5
,{'F','R','O','M','C','O','L','O','R','5','\0'}},
151 {TMT_COLOR
,TMT_TOCOLOR1
,{'T','O','C','O','L','O','R','1','\0'}},
152 {TMT_COLOR
,TMT_TOCOLOR2
,{'T','O','C','O','L','O','R','2','\0'}},
153 {TMT_COLOR
,TMT_TOCOLOR3
,{'T','O','C','O','L','O','R','3','\0'}},
154 {TMT_COLOR
,TMT_TOCOLOR4
,{'T','O','C','O','L','O','R','4','\0'}},
155 {TMT_COLOR
,TMT_TOCOLOR5
,{'T','O','C','O','L','O','R','5','\0'}},
156 {TMT_BOOL
,TMT_TRANSPARENT
,{'T','R','A','N','S','P','A','R','E','N','T','\0'}},
157 {TMT_BOOL
,TMT_AUTOSIZE
,{'A','U','T','O','S','I','Z','E','\0'}},
158 {TMT_BOOL
,TMT_BORDERONLY
,{'B','O','R','D','E','R','O','N','L','Y','\0'}},
159 {TMT_BOOL
,TMT_COMPOSITED
,{'C','O','M','P','O','S','I','T','E','D','\0'}},
160 {TMT_BOOL
,TMT_BGFILL
,{'B','G','F','I','L','L','\0'}},
161 {TMT_BOOL
,TMT_GLYPHTRANSPARENT
,{'G','L','Y','P','H','T','R','A','N','S','P','A','R','E','N','T','\0'}},
162 {TMT_BOOL
,TMT_GLYPHONLY
,{'G','L','Y','P','H','O','N','L','Y','\0'}},
163 {TMT_BOOL
,TMT_ALWAYSSHOWSIZINGBAR
,{'A','L','W','A','Y','S','S','H','O','W','S','I','Z','I','N','G','B','A','R','\0'}},
164 {TMT_BOOL
,TMT_MIRRORIMAGE
,{'M','I','R','R','O','R','I','M','A','G','E','\0'}},
165 {TMT_BOOL
,TMT_UNIFORMSIZING
,{'U','N','I','F','O','R','M','S','I','Z','I','N','G','\0'}},
166 {TMT_BOOL
,TMT_INTEGRALSIZING
,{'I','N','T','E','G','R','A','L','S','I','Z','I','N','G','\0'}},
167 {TMT_BOOL
,TMT_SOURCEGROW
,{'S','O','U','R','C','E','G','R','O','W','\0'}},
168 {TMT_BOOL
,TMT_SOURCESHRINK
,{'S','O','U','R','C','E','S','H','R','I','N','K','\0'}},
169 {TMT_INT
,TMT_IMAGECOUNT
,{'I','M','A','G','E','C','O','U','N','T','\0'}},
170 {TMT_INT
,TMT_ALPHALEVEL
,{'A','L','P','H','A','L','E','V','E','L','\0'}},
171 {TMT_INT
,TMT_BORDERSIZE
,{'B','O','R','D','E','R','S','I','Z','E','\0'}},
172 {TMT_INT
,TMT_ROUNDCORNERWIDTH
,{'R','O','U','N','D','C','O','R','N','E','R','W','I','D','T','H','\0'}},
173 {TMT_INT
,TMT_ROUNDCORNERHEIGHT
,{'R','O','U','N','D','C','O','R','N','E','R','H','E','I','G','H','T','\0'}},
174 {TMT_INT
,TMT_GRADIENTRATIO1
,{'G','R','A','D','I','E','N','T','R','A','T','I','O','1','\0'}},
175 {TMT_INT
,TMT_GRADIENTRATIO2
,{'G','R','A','D','I','E','N','T','R','A','T','I','O','2','\0'}},
176 {TMT_INT
,TMT_GRADIENTRATIO3
,{'G','R','A','D','I','E','N','T','R','A','T','I','O','3','\0'}},
177 {TMT_INT
,TMT_GRADIENTRATIO4
,{'G','R','A','D','I','E','N','T','R','A','T','I','O','4','\0'}},
178 {TMT_INT
,TMT_GRADIENTRATIO5
,{'G','R','A','D','I','E','N','T','R','A','T','I','O','5','\0'}},
179 {TMT_INT
,TMT_PROGRESSCHUNKSIZE
,{'P','R','O','G','R','E','S','S','C','H','U','N','K','S','I','Z','E','\0'}},
180 {TMT_INT
,TMT_PROGRESSSPACESIZE
,{'P','R','O','G','R','E','S','S','S','P','A','C','E','S','I','Z','E','\0'}},
181 {TMT_INT
,TMT_SATURATION
,{'S','A','T','U','R','A','T','I','O','N','\0'}},
182 {TMT_INT
,TMT_TEXTBORDERSIZE
,{'T','E','X','T','B','O','R','D','E','R','S','I','Z','E','\0'}},
183 {TMT_INT
,TMT_ALPHATHRESHOLD
,{'A','L','P','H','A','T','H','R','E','S','H','O','L','D','\0'}},
184 {TMT_SIZE
,TMT_WIDTH
,{'W','I','D','T','H','\0'}},
185 {TMT_SIZE
,TMT_HEIGHT
,{'H','E','I','G','H','T','\0'}},
186 {TMT_INT
,TMT_GLYPHINDEX
,{'G','L','Y','P','H','I','N','D','E','X','\0'}},
187 {TMT_INT
,TMT_TRUESIZESTRETCHMARK
,{'T','R','U','E','S','I','Z','E','S','T','R','E','T','C','H','M','A','R','K','\0'}},
188 {TMT_INT
,TMT_MINDPI1
,{'M','I','N','D','P','I','1','\0'}},
189 {TMT_INT
,TMT_MINDPI2
,{'M','I','N','D','P','I','2','\0'}},
190 {TMT_INT
,TMT_MINDPI3
,{'M','I','N','D','P','I','3','\0'}},
191 {TMT_INT
,TMT_MINDPI4
,{'M','I','N','D','P','I','4','\0'}},
192 {TMT_INT
,TMT_MINDPI5
,{'M','I','N','D','P','I','5','\0'}},
193 {TMT_FONT
,TMT_GLYPHFONT
,{'G','L','Y','P','H','F','O','N','T','\0'}},
194 {TMT_FILENAME
,TMT_IMAGEFILE
,{'I','M','A','G','E','F','I','L','E','\0'}},
195 {TMT_FILENAME
,TMT_IMAGEFILE1
,{'I','M','A','G','E','F','I','L','E','1','\0'}},
196 {TMT_FILENAME
,TMT_IMAGEFILE2
,{'I','M','A','G','E','F','I','L','E','2','\0'}},
197 {TMT_FILENAME
,TMT_IMAGEFILE3
,{'I','M','A','G','E','F','I','L','E','3','\0'}},
198 {TMT_FILENAME
,TMT_IMAGEFILE4
,{'I','M','A','G','E','F','I','L','E','4','\0'}},
199 {TMT_FILENAME
,TMT_IMAGEFILE5
,{'I','M','A','G','E','F','I','L','E','5','\0'}},
200 {TMT_FILENAME
,TMT_STOCKIMAGEFILE
,{'S','T','O','C','K','I','M','A','G','E','F','I','L','E','\0'}},
201 {TMT_FILENAME
,TMT_GLYPHIMAGEFILE
,{'G','L','Y','P','H','I','M','A','G','E','F','I','L','E','\0'}},
202 {TMT_STRING
,TMT_TEXT
,{'T','E','X','T','\0'}},
203 {TMT_POSITION
,TMT_OFFSET
,{'O','F','F','S','E','T','\0'}},
204 {TMT_POSITION
,TMT_TEXTSHADOWOFFSET
,{'T','E','X','T','S','H','A','D','O','W','O','F','F','S','E','T','\0'}},
205 {TMT_POSITION
,TMT_MINSIZE
,{'M','I','N','S','I','Z','E','\0'}},
206 {TMT_POSITION
,TMT_MINSIZE1
,{'M','I','N','S','I','Z','E','1','\0'}},
207 {TMT_POSITION
,TMT_MINSIZE2
,{'M','I','N','S','I','Z','E','2','\0'}},
208 {TMT_POSITION
,TMT_MINSIZE3
,{'M','I','N','S','I','Z','E','3','\0'}},
209 {TMT_POSITION
,TMT_MINSIZE4
,{'M','I','N','S','I','Z','E','4','\0'}},
210 {TMT_POSITION
,TMT_MINSIZE5
,{'M','I','N','S','I','Z','E','5','\0'}},
211 {TMT_POSITION
,TMT_NORMALSIZE
,{'N','O','R','M','A','L','S','I','Z','E','\0'}},
212 {TMT_MARGINS
,TMT_SIZINGMARGINS
,{'S','I','Z','I','N','G','M','A','R','G','I','N','S','\0'}},
213 {TMT_MARGINS
,TMT_CONTENTMARGINS
,{'C','O','N','T','E','N','T','M','A','R','G','I','N','S','\0'}},
214 {TMT_MARGINS
,TMT_CAPTIONMARGINS
,{'C','A','P','T','I','O','N','M','A','R','G','I','N','S','\0'}},
215 {TMT_COLOR
,TMT_BORDERCOLOR
,{'B','O','R','D','E','R','C','O','L','O','R','\0'}},
216 {TMT_COLOR
,TMT_FILLCOLOR
,{'F','I','L','L','C','O','L','O','R','\0'}},
217 {TMT_COLOR
,TMT_TEXTCOLOR
,{'T','E','X','T','C','O','L','O','R','\0'}},
218 {TMT_COLOR
,TMT_EDGELIGHTCOLOR
,{'E','D','G','E','L','I','G','H','T','C','O','L','O','R','\0'}},
219 {TMT_COLOR
,TMT_EDGEHIGHLIGHTCOLOR
,{'E','D','G','E','H','I','G','H','L','I','G','H','T','C','O','L','O','R','\0'}},
220 {TMT_COLOR
,TMT_EDGESHADOWCOLOR
,{'E','D','G','E','S','H','A','D','O','W','C','O','L','O','R','\0'}},
221 {TMT_COLOR
,TMT_EDGEDKSHADOWCOLOR
,{'E','D','G','E','D','K','S','H','A','D','O','W','C','O','L','O','R','\0'}},
222 {TMT_COLOR
,TMT_EDGEFILLCOLOR
,{'E','D','G','E','F','I','L','L','C','O','L','O','R','\0'}},
223 {TMT_COLOR
,TMT_TRANSPARENTCOLOR
,{'T','R','A','N','S','P','A','R','E','N','T','C','O','L','O','R','\0'}},
224 {TMT_COLOR
,TMT_GRADIENTCOLOR1
,{'G','R','A','D','I','E','N','T','C','O','L','O','R','1','\0'}},
225 {TMT_COLOR
,TMT_GRADIENTCOLOR2
,{'G','R','A','D','I','E','N','T','C','O','L','O','R','2','\0'}},
226 {TMT_COLOR
,TMT_GRADIENTCOLOR3
,{'G','R','A','D','I','E','N','T','C','O','L','O','R','3','\0'}},
227 {TMT_COLOR
,TMT_GRADIENTCOLOR4
,{'G','R','A','D','I','E','N','T','C','O','L','O','R','4','\0'}},
228 {TMT_COLOR
,TMT_GRADIENTCOLOR5
,{'G','R','A','D','I','E','N','T','C','O','L','O','R','5','\0'}},
229 {TMT_COLOR
,TMT_SHADOWCOLOR
,{'S','H','A','D','O','W','C','O','L','O','R','\0'}},
230 {TMT_COLOR
,TMT_GLOWCOLOR
,{'G','L','O','W','C','O','L','O','R','\0'}},
231 {TMT_COLOR
,TMT_TEXTBORDERCOLOR
,{'T','E','X','T','B','O','R','D','E','R','C','O','L','O','R','\0'}},
232 {TMT_COLOR
,TMT_TEXTSHADOWCOLOR
,{'T','E','X','T','S','H','A','D','O','W','C','O','L','O','R','\0'}},
233 {TMT_COLOR
,TMT_GLYPHTEXTCOLOR
,{'G','L','Y','P','H','T','E','X','T','C','O','L','O','R','\0'}},
234 {TMT_COLOR
,TMT_GLYPHTRANSPARENTCOLOR
,{'G','L','Y','P','H','T','R','A','N','S','P','A','R','E','N','T','C','O','L','O','R','\0'}},
235 {TMT_COLOR
,TMT_FILLCOLORHINT
,{'F','I','L','L','C','O','L','O','R','H','I','N','T','\0'}},
236 {TMT_COLOR
,TMT_BORDERCOLORHINT
,{'B','O','R','D','E','R','C','O','L','O','R','H','I','N','T','\0'}},
237 {TMT_COLOR
,TMT_ACCENTCOLORHINT
,{'A','C','C','E','N','T','C','O','L','O','R','H','I','N','T','\0'}},
238 {TMT_ENUM
,TMT_BGTYPE
,{'B','G','T','Y','P','E','\0'}},
239 {TMT_ENUM
,TMT_BORDERTYPE
,{'B','O','R','D','E','R','T','Y','P','E','\0'}},
240 {TMT_ENUM
,TMT_FILLTYPE
,{'F','I','L','L','T','Y','P','E','\0'}},
241 {TMT_ENUM
,TMT_SIZINGTYPE
,{'S','I','Z','I','N','G','T','Y','P','E','\0'}},
242 {TMT_ENUM
,TMT_HALIGN
,{'H','A','L','I','G','N','\0'}},
243 {TMT_ENUM
,TMT_CONTENTALIGNMENT
,{'C','O','N','T','E','N','T','A','L','I','G','N','M','E','N','T','\0'}},
244 {TMT_ENUM
,TMT_VALIGN
,{'V','A','L','I','G','N','\0'}},
245 {TMT_ENUM
,TMT_OFFSETTYPE
,{'O','F','F','S','E','T','T','Y','P','E','\0'}},
246 {TMT_ENUM
,TMT_ICONEFFECT
,{'I','C','O','N','E','F','F','E','C','T','\0'}},
247 {TMT_ENUM
,TMT_TEXTSHADOWTYPE
,{'T','E','X','T','S','H','A','D','O','W','T','Y','P','E','\0'}},
248 {TMT_ENUM
,TMT_IMAGELAYOUT
,{'I','M','A','G','E','L','A','Y','O','U','T','\0'}},
249 {TMT_ENUM
,TMT_GLYPHTYPE
,{'G','L','Y','P','H','T','Y','P','E','\0'}},
250 {TMT_ENUM
,TMT_IMAGESELECTTYPE
,{'I','M','A','G','E','S','E','L','E','C','T','T','Y','P','E','\0'}},
251 {TMT_ENUM
,TMT_GLYPHFONTSIZINGTYPE
,{'G','L','Y','P','H','F','O','N','T','S','I','Z','I','N','G','T','Y','P','E','\0'}},
252 {TMT_ENUM
,TMT_TRUESIZESCALINGTYPE
,{'T','R','U','E','S','I','Z','E','S','C','A','L','I','N','G','T','Y','P','E','\0'}},
253 {TMT_BOOL
,TMT_USERPICTURE
,{'U','S','E','R','P','I','C','T','U','R','E','\0'}},
254 {TMT_RECT
,TMT_DEFAULTPANESIZE
,{'D','E','F','A','U','L','T','P','A','N','E','S','I','Z','E','\0'}},
255 {TMT_COLOR
,TMT_BLENDCOLOR
,{'B','L','E','N','D','C','O','L','O','R','\0'}},
259 /***********************************************************************
260 * Map strings to enumeration values
261 * Enum,Value,ValueName
263 static const MSSTYLES_ENUM_MAP mapEnum
[] = {
264 {TMT_BGTYPE
,BT_IMAGEFILE
,{'I','M','A','G','E','F','I','L','E','\0'}},
265 {TMT_BGTYPE
,BT_BORDERFILL
,{'B','O','R','D','E','R','F','I','L','L','\0'}},
266 {TMT_BGTYPE
,BT_NONE
,{'N','O','N','E','\0'}},
267 {TMT_IMAGELAYOUT
,IL_VERTICAL
,{'V','E','R','T','I','C','A','L','\0'}},
268 {TMT_IMAGELAYOUT
,IL_HORIZONTAL
,{'H','O','R','I','Z','O','N','T','A','L','\0'}},
269 {TMT_BORDERTYPE
,BT_RECT
,{'R','E','C','T','\0'}},
270 {TMT_BORDERTYPE
,BT_ROUNDRECT
,{'R','O','U','N','D','R','E','C','T','\0'}},
271 {TMT_BORDERTYPE
,BT_ELLIPSE
,{'E','L','L','I','P','S','E','\0'}},
272 {TMT_FILLTYPE
,FT_SOLID
,{'S','O','L','I','D','\0'}},
273 {TMT_FILLTYPE
,FT_VERTGRADIENT
,{'V','E','R','T','G','R','A','D','I','E','N','T','\0'}},
274 {TMT_FILLTYPE
,FT_HORZGRADIENT
,{'H','O','R','Z','G','R','A','D','I','E','N','T','\0'}},
275 {TMT_FILLTYPE
,FT_RADIALGRADIENT
,{'R','A','D','I','A','L','G','R','A','D','I','E','N','T','\0'}},
276 {TMT_FILLTYPE
,FT_TILEIMAGE
,{'T','I','L','E','I','M','A','G','E','\0'}},
277 {TMT_SIZINGTYPE
,ST_TRUESIZE
,{'T','R','U','E','S','I','Z','E','\0'}},
278 {TMT_SIZINGTYPE
,ST_STRETCH
,{'S','T','R','E','T','C','H','\0'}},
279 {TMT_SIZINGTYPE
,ST_TILE
,{'T','I','L','E','\0'}},
280 {TMT_HALIGN
,HA_LEFT
,{'L','E','F','T','\0'}},
281 {TMT_HALIGN
,HA_CENTER
,{'C','E','N','T','E','R','\0'}},
282 {TMT_HALIGN
,HA_RIGHT
,{'R','I','G','H','T','\0'}},
283 {TMT_CONTENTALIGNMENT
,CA_LEFT
,{'L','E','F','T','\0'}},
284 {TMT_CONTENTALIGNMENT
,CA_CENTER
,{'C','E','N','T','E','R','\0'}},
285 {TMT_CONTENTALIGNMENT
,CA_RIGHT
,{'R','I','G','H','T','\0'}},
286 {TMT_VALIGN
,VA_TOP
,{'T','O','P','\0'}},
287 {TMT_VALIGN
,VA_CENTER
,{'C','E','N','T','E','R','\0'}},
288 {TMT_VALIGN
,VA_BOTTOM
,{'B','O','T','T','O','M','\0'}},
289 {TMT_OFFSETTYPE
,OT_TOPLEFT
,{'T','O','P','L','E','F','T','\0'}},
290 {TMT_OFFSETTYPE
,OT_TOPRIGHT
,{'T','O','P','R','I','G','H','T','\0'}},
291 {TMT_OFFSETTYPE
,OT_TOPMIDDLE
,{'T','O','P','M','I','D','D','L','E','\0'}},
292 {TMT_OFFSETTYPE
,OT_BOTTOMLEFT
,{'B','O','T','T','O','M','L','E','F','T','\0'}},
293 {TMT_OFFSETTYPE
,OT_BOTTOMRIGHT
,{'B','O','T','T','O','M','R','I','G','H','T','\0'}},
294 {TMT_OFFSETTYPE
,OT_BOTTOMMIDDLE
,{'B','O','T','T','O','M','M','I','D','D','L','E','\0'}},
295 {TMT_OFFSETTYPE
,OT_MIDDLELEFT
,{'M','I','D','D','L','E','L','E','F','T','\0'}},
296 {TMT_OFFSETTYPE
,OT_MIDDLERIGHT
,{'M','I','D','D','L','E','R','I','G','H','T','\0'}},
297 {TMT_OFFSETTYPE
,OT_LEFTOFCAPTION
,{'L','E','F','T','O','F','C','A','P','T','I','O','N','\0'}},
298 {TMT_OFFSETTYPE
,OT_RIGHTOFCAPTION
,{'R','I','G','H','T','O','F','C','A','P','T','I','O','N','\0'}},
299 {TMT_OFFSETTYPE
,OT_LEFTOFLASTBUTTON
,{'L','E','F','T','O','F','L','A','S','T','B','U','T','T','O','N','\0'}},
300 {TMT_OFFSETTYPE
,OT_RIGHTOFLASTBUTTON
,{'R','I','G','H','T','O','F','L','A','S','T','B','U','T','T','O','N','\0'}},
301 {TMT_OFFSETTYPE
,OT_ABOVELASTBUTTON
,{'A','B','O','V','E','L','A','S','T','B','U','T','T','O','N','\0'}},
302 {TMT_OFFSETTYPE
,OT_BELOWLASTBUTTON
,{'B','E','L','O','W','L','A','S','T','B','U','T','T','O','N','\0'}},
303 {TMT_ICONEFFECT
,ICE_NONE
,{'N','O','N','E','\0'}},
304 {TMT_ICONEFFECT
,ICE_GLOW
,{'G','L','O','W','\0'}},
305 {TMT_ICONEFFECT
,ICE_SHADOW
,{'S','H','A','D','O','W','\0'}},
306 {TMT_ICONEFFECT
,ICE_PULSE
,{'P','U','L','S','E','\0'}},
307 {TMT_ICONEFFECT
,ICE_ALPHA
,{'A','L','P','H','A','\0'}},
308 {TMT_TEXTSHADOWTYPE
,TST_NONE
,{'N','O','N','E','\0'}},
309 {TMT_TEXTSHADOWTYPE
,TST_SINGLE
,{'S','I','N','G','L','E','\0'}},
310 {TMT_TEXTSHADOWTYPE
,TST_CONTINUOUS
,{'C','O','N','T','I','N','U','O','U','S','\0'}},
311 {TMT_GLYPHTYPE
,GT_NONE
,{'N','O','N','E','\0'}},
312 {TMT_GLYPHTYPE
,GT_IMAGEGLYPH
,{'I','M','A','G','E','G','L','Y','P','H','\0'}},
313 {TMT_GLYPHTYPE
,GT_FONTGLYPH
,{'F','O','N','T','G','L','Y','P','H','\0'}},
314 {TMT_IMAGESELECTTYPE
,IST_NONE
,{'N','O','N','E','\0'}},
315 {TMT_IMAGESELECTTYPE
,IST_SIZE
,{'S','I','Z','E','\0'}},
316 {TMT_IMAGESELECTTYPE
,IST_DPI
,{'D','P','I','\0'}},
317 {TMT_TRUESIZESCALINGTYPE
,TSST_NONE
,{'N','O','N','E','\0'}},
318 {TMT_TRUESIZESCALINGTYPE
,TSST_SIZE
,{'S','I','Z','E','\0'}},
319 {TMT_TRUESIZESCALINGTYPE
,TSST_DPI
,{'D','P','I','\0'}},
320 {TMT_GLYPHFONTSIZINGTYPE
,GFST_NONE
,{'N','O','N','E','\0'}},
321 {TMT_GLYPHFONTSIZINGTYPE
,GFST_SIZE
,{'S','I','Z','E','\0'}},
322 {TMT_GLYPHFONTSIZINGTYPE
,GFST_DPI
,{'D','P','I','\0'}},
327 /***********************************************************************
328 * Classes defined below
329 * Defined as PartID,StateID,TextName
330 * If StateID == 0 then its a part being defined
333 /* These are globals to all classes, but its treated as a seperate class */
334 static const MSSTYLES_CLASS_MAP classGlobals
[] = {
335 {GP_BORDER
,0,{'B','O','R','D','E','R','\0'}},
336 {GP_BORDER
,BSS_FLAT
,{'F','L','A','T','\0'}},
337 {GP_BORDER
,BSS_RAISED
,{'R','A','I','S','E','D','\0'}},
338 {GP_BORDER
,BSS_SUNKEN
,{'S','U','N','K','E','N','\0'}},
339 {GP_LINEHORZ
,0,{'L','I','N','E','H','O','R','Z','\0'}},
340 {GP_LINEHORZ
,LHS_FLAT
,{'F','L','A','T','\0'}},
341 {GP_LINEHORZ
,LHS_RAISED
,{'R','A','I','S','E','D','\0'}},
342 {GP_LINEHORZ
,LHS_SUNKEN
,{'S','U','N','K','E','N','\0'}},
343 {GP_LINEVERT
,0,{'L','I','N','E','V','E','R','T','\0'}},
344 {GP_LINEVERT
,LVS_FLAT
,{'F','L','A','T','\0'}},
345 {GP_LINEVERT
,LVS_RAISED
,{'R','A','I','S','E','D','\0'}},
346 {GP_LINEVERT
,LVS_SUNKEN
,{'S','U','N','K','E','N','\0'}},
350 static const MSSTYLES_CLASS_MAP classButton
[] = {
351 {BP_PUSHBUTTON
,0,{'P','U','S','H','B','U','T','T','O','N','\0'}},
352 {BP_PUSHBUTTON
,PBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
353 {BP_PUSHBUTTON
,PBS_HOT
,{'H','O','T','\0'}},
354 {BP_PUSHBUTTON
,PBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
355 {BP_PUSHBUTTON
,PBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
356 {BP_PUSHBUTTON
,PBS_DEFAULTED
,{'D','E','F','A','U','L','T','E','D','\0'}},
357 {BP_RADIOBUTTON
,0,{'R','A','D','I','O','B','U','T','T','O','N','\0'}},
358 {BP_RADIOBUTTON
,RBS_UNCHECKEDNORMAL
,{'U','N','C','H','E','C','K','E','D','N','O','R','M','A','L','\0'}},
359 {BP_RADIOBUTTON
,RBS_UNCHECEDHOT
,{'U','N','C','H','E','C','E','D','H','O','T','\0'}},
360 {BP_RADIOBUTTON
,RBS_UNCHECKEDPRESSED
,{'U','N','C','H','E','C','K','E','D','P','R','E','S','S','E','D','\0'}},
361 {BP_RADIOBUTTON
,RBS_UNCHECKEDDISABLED
,{'U','N','C','H','E','C','K','E','D','D','I','S','A','B','L','E','D','\0'}},
362 {BP_RADIOBUTTON
,RBS_CHECKEDNORMAL
,{'C','H','E','C','K','E','D','N','O','R','M','A','L','\0'}},
363 {BP_RADIOBUTTON
,RBS_CHECKEDHOT
,{'C','H','E','C','K','E','D','H','O','T','\0'}},
364 {BP_RADIOBUTTON
,RBS_CHECKEDPRESSED
,{'C','H','E','C','K','E','D','P','R','E','S','S','E','D','\0'}},
365 {BP_RADIOBUTTON
,RBS_CHECKEDDISABLED
,{'C','H','E','C','K','E','D','D','I','S','A','B','L','E','D','\0'}},
366 {BP_CHECKBOX
,0,{'C','H','E','C','K','B','O','X','\0'}},
367 {BP_RADIOBUTTON
,CBS_UNCHECKEDNORMAL
,{'U','N','C','H','E','C','K','E','D','N','O','R','M','A','L','\0'}},
368 {BP_RADIOBUTTON
,CBS_UNCHECKEDHOT
,{'U','N','C','H','E','C','K','E','D','H','O','T','\0'}},
369 {BP_RADIOBUTTON
,CBS_UNCHECKEDPRESSED
,{'U','N','C','H','E','C','K','E','D','P','R','E','S','S','E','D','\0'}},
370 {BP_RADIOBUTTON
,CBS_UNCHECKEDDISABLED
,{'U','N','C','H','E','C','K','E','D','D','I','S','A','B','L','E','D','\0'}},
371 {BP_RADIOBUTTON
,CBS_CHECKEDNORMAL
,{'C','H','E','C','K','E','D','N','O','R','M','A','L','\0'}},
372 {BP_RADIOBUTTON
,CBS_CHECKEDHOT
,{'C','H','E','C','K','E','D','H','O','T','\0'}},
373 {BP_RADIOBUTTON
,CBS_CHECKEDPRESSED
,{'C','H','E','C','K','E','D','P','R','E','S','S','E','D','\0'}},
374 {BP_RADIOBUTTON
,CBS_CHECKEDDISABLED
,{'C','H','E','C','K','E','D','D','I','S','A','B','L','E','D','\0'}},
375 {BP_RADIOBUTTON
,CBS_MIXEDNORMAL
,{'M','I','X','E','D','N','O','R','M','A','L','\0'}},
376 {BP_RADIOBUTTON
,CBS_MIXEDHOT
,{'M','I','X','E','D','H','O','T','\0'}},
377 {BP_RADIOBUTTON
,CBS_MIXEDPRESSED
,{'M','I','X','E','D','P','R','E','S','S','E','D','\0'}},
378 {BP_RADIOBUTTON
,CBS_MIXEDDISABLED
,{'M','I','X','E','D','D','I','S','A','B','L','E','D','\0'}},
379 {BP_GROUPBOX
,0,{'G','R','O','U','P','B','O','X','\0'}},
380 {BP_RADIOBUTTON
,GBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
381 {BP_RADIOBUTTON
,GBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
382 {BP_USERBUTTON
,0,{'U','S','E','R','B','U','T','T','O','N','\0'}},
386 static const MSSTYLES_CLASS_MAP classClock
[] = {
387 {CLP_TIME
,0,{'T','I','M','E','\0'}},
388 {CLP_TIME
,CLS_NORMAL
,{'N','O','R','M','A','L','\0'}},
392 static const MSSTYLES_CLASS_MAP classCombobox
[] = {
393 {CP_DROPDOWNBUTTON
,0,{'D','R','O','P','D','O','W','N','B','U','T','T','O','N','\0'}},
394 {CP_DROPDOWNBUTTON
,CBXS_NORMAL
,{'N','O','R','M','A','L','\0'}},
395 {CP_DROPDOWNBUTTON
,CBXS_HOT
,{'H','O','T','\0'}},
396 {CP_DROPDOWNBUTTON
,CBXS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
397 {CP_DROPDOWNBUTTON
,CBXS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
401 static const MSSTYLES_CLASS_MAP classEdit
[] = {
402 {EP_EDITTEXT
,0,{'E','D','I','T','T','E','X','T','\0'}},
403 {EP_EDITTEXT
,ETS_NORMAL
,{'N','O','R','M','A','L','\0'}},
404 {EP_EDITTEXT
,ETS_HOT
,{'H','O','T','\0'}},
405 {EP_EDITTEXT
,ETS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
406 {EP_EDITTEXT
,ETS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
407 {EP_EDITTEXT
,ETS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
408 {EP_EDITTEXT
,ETS_READONLY
,{'R','E','A','D','O','N','L','Y','\0'}},
409 {EP_EDITTEXT
,ETS_ASSIST
,{'A','S','S','I','S','T','\0'}},
410 {EP_CARET
,0,{'C','A','R','E','T','\0'}},
414 static const MSSTYLES_CLASS_MAP classExplorerbar
[] = {
415 {EBP_HEADERBACKGROUND
,0,{'H','E','A','D','E','R','B','A','C','K','G','R','O','U','N','D','\0'}},
416 {EBP_HEADERCLOSE
,0,{'H','E','A','D','E','R','C','L','O','S','E','\0'}},
417 {EBP_HEADERCLOSE
,EBHC_NORMAL
,{'N','O','R','M','A','L','\0'}},
418 {EBP_HEADERCLOSE
,EBHC_HOT
,{'H','O','T','\0'}},
419 {EBP_HEADERCLOSE
,EBHC_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
420 {EBP_HEADERPIN
,0,{'H','E','A','D','E','R','P','I','N','\0'}},
421 {EBP_HEADERPIN
,EBHP_NORMAL
,{'N','O','R','M','A','L','\0'}},
422 {EBP_HEADERPIN
,EBHP_HOT
,{'H','O','T','\0'}},
423 {EBP_HEADERPIN
,EBHP_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
424 {EBP_HEADERPIN
,EBHP_SELECTEDNORMAL
,{'S','E','L','E','C','T','E','D','N','O','R','M','A','L','\0'}},
425 {EBP_HEADERPIN
,EBHP_SELECTEDHOT
,{'S','E','L','E','C','T','E','D','H','O','T','\0'}},
426 {EBP_HEADERPIN
,EBHP_SELECTEDPRESSED
,{'S','E','L','E','C','T','E','D','P','R','E','S','S','E','D','\0'}},
427 {EBP_IEBARMENU
,0,{'I','E','B','A','R','M','E','N','U','\0'}},
428 {EBP_IEBARMENU
,EBM_NORMAL
,{'N','O','R','M','A','L','\0'}},
429 {EBP_IEBARMENU
,EBM_HOT
,{'H','O','T','\0'}},
430 {EBP_IEBARMENU
,EBM_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
431 {EBP_NORMALGROUPBACKGROUND
,0,{'N','O','R','M','A','L','G','R','O','U','P','B','A','C','K','G','R','O','U','N','D','\0'}},
432 {EBP_NORMALGROUPCOLLAPSE
,0,{'N','O','R','M','A','L','G','R','O','U','P','C','O','L','L','A','P','S','E','\0'}},
433 {EBP_NORMALGROUPCOLLAPSE
,EBNGC_NORMAL
,{'N','O','R','M','A','L','\0'}},
434 {EBP_NORMALGROUPCOLLAPSE
,EBNGC_HOT
,{'H','O','T','\0'}},
435 {EBP_NORMALGROUPCOLLAPSE
,EBNGC_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
436 {EBP_NORMALGROUPEXPAND
,0,{'N','O','R','M','A','L','G','R','O','U','P','E','X','P','A','N','D','\0'}},
437 {EBP_NORMALGROUPEXPAND
,EBNGE_NORMAL
,{'N','O','R','M','A','L','\0'}},
438 {EBP_NORMALGROUPEXPAND
,EBNGE_HOT
,{'H','O','T','\0'}},
439 {EBP_NORMALGROUPEXPAND
,EBNGE_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
440 {EBP_NORMALGROUPHEAD
,0,{'N','O','R','M','A','L','G','R','O','U','P','H','E','A','D','\0'}},
441 {EBP_SPECIALGROUPBACKGROUND
,0,{'S','P','E','C','I','A','L','G','R','O','U','P','B','A','C','K','G','R','O','U','N','D','\0'}},
442 {EBP_SPECIALGROUPCOLLAPSE
,0,{'S','P','E','C','I','A','L','G','R','O','U','P','C','O','L','L','A','P','S','E','\0'}},
443 {EBP_SPECIALGROUPCOLLAPSE
,EBSGC_NORMAL
,{'N','O','R','M','A','L','\0'}},
444 {EBP_SPECIALGROUPCOLLAPSE
,EBSGC_HOT
,{'H','O','T','\0'}},
445 {EBP_SPECIALGROUPCOLLAPSE
,EBSGC_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
446 {EBP_SPECIALGROUPEXPAND
,0,{'S','P','E','C','I','A','L','G','R','O','U','P','E','X','P','A','N','D','\0'}},
447 {EBP_SPECIALGROUPEXPAND
,EBSGE_NORMAL
,{'N','O','R','M','A','L','\0'}},
448 {EBP_SPECIALGROUPEXPAND
,EBSGE_HOT
,{'H','O','T','\0'}},
449 {EBP_SPECIALGROUPEXPAND
,EBSGE_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
450 {EBP_SPECIALGROUPHEAD
,0,{'S','P','E','C','I','A','L','G','R','O','U','P','H','E','A','D','\0'}},
454 static const MSSTYLES_CLASS_MAP classHeader
[] = {
455 {HP_HEADERITEM
,0,{'H','E','A','D','E','R','I','T','E','M','\0'}},
456 {HP_HEADERITEM
,HIS_NORMAL
,{'N','O','R','M','A','L','\0'}},
457 {HP_HEADERITEM
,HIS_HOT
,{'H','O','T','\0'}},
458 {HP_HEADERITEM
,HIS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
459 {HP_HEADERITEMLEFT
,0,{'H','E','A','D','E','R','I','T','E','M','L','E','F','T','\0'}},
460 {HP_HEADERITEMLEFT
,HILS_NORMAL
,{'N','O','R','M','A','L','\0'}},
461 {HP_HEADERITEMLEFT
,HILS_HOT
,{'H','O','T','\0'}},
462 {HP_HEADERITEMLEFT
,HILS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
463 {HP_HEADERITEMRIGHT
,0,{'H','E','A','D','E','R','I','T','E','M','R','I','G','H','T','\0'}},
464 {HP_HEADERITEMRIGHT
,HIRS_NORMAL
,{'N','O','R','M','A','L','\0'}},
465 {HP_HEADERITEMRIGHT
,HIRS_HOT
,{'H','O','T','\0'}},
466 {HP_HEADERITEMRIGHT
,HIRS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
467 {HP_HEADERSORTARROW
,0,{'H','E','A','D','E','R','S','O','R','T','A','R','R','O','W','\0'}},
468 {HP_HEADERSORTARROW
,HSAS_NORMAL
,{'N','O','R','M','A','L','\0'}},
469 {HP_HEADERSORTARROW
,HSAS_HOT
,{'H','O','T','\0'}},
470 {HP_HEADERSORTARROW
,HSAS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
474 static const MSSTYLES_CLASS_MAP classListview
[] = {
475 {LVP_LISTITEM
,0,{'L','I','S','T','I','T','E','M','\0'}},
476 {LVP_LISTITEM
,LIS_NORMAL
,{'N','O','R','M','A','L','\0'}},
477 {LVP_LISTITEM
,LIS_HOT
,{'H','O','T','\0'}},
478 {LVP_LISTITEM
,LIS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
479 {LVP_LISTITEM
,LIS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
480 {LVP_LISTITEM
,LIS_SELECTEDNOTFOCUS
,{'S','E','L','E','C','T','E','D','N','O','T','F','O','C','U','S','\0'}},
481 {LVP_LISTGROUP
,0,{'L','I','S','T','G','R','O','U','P','\0'}},
482 {LVP_LISTDETAIL
,0,{'L','I','S','T','D','E','T','A','I','L','\0'}},
483 {LVP_LISTSORTEDDETAIL
,0,{'L','I','S','T','S','O','R','T','E','D','D','E','T','A','I','L','\0'}},
484 {LVP_EMPTYTEXT
,0,{'E','M','P','T','Y','T','E','X','T','\0'}},
488 static const MSSTYLES_CLASS_MAP classMenu
[] = {
489 {MP_MENUITEM
,0,{'M','E','N','U','I','T','E','M','\0'}},
490 {MP_MENUITEM
,MS_NORMAL
,{'N','O','R','M','A','L','\0'}},
491 {MP_MENUITEM
,MS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
492 {MP_MENUITEM
,MS_DEMOTED
,{'D','E','M','O','T','E','D','\0'}},
493 {MP_MENUDROPDOWN
,0,{'M','E','N','U','D','R','O','P','D','O','W','N','\0'}},
494 {MP_MENUDROPDOWN
,MS_NORMAL
,{'N','O','R','M','A','L','\0'}},
495 {MP_MENUDROPDOWN
,MS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
496 {MP_MENUDROPDOWN
,MS_DEMOTED
,{'D','E','M','O','T','E','D','\0'}},
497 {MP_MENUBARITEM
,0,{'M','E','N','U','B','A','R','I','T','E','M','\0'}},
498 {MP_MENUBARITEM
,MS_NORMAL
,{'N','O','R','M','A','L','\0'}},
499 {MP_MENUBARITEM
,MS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
500 {MP_MENUBARITEM
,MS_DEMOTED
,{'D','E','M','O','T','E','D','\0'}},
501 {MP_MENUBARDROPDOWN
,0,{'M','E','N','U','B','A','R','D','R','O','P','D','O','W','N','\0'}},
502 {MP_MENUBARDROPDOWN
,MS_NORMAL
,{'N','O','R','M','A','L','\0'}},
503 {MP_MENUBARDROPDOWN
,MS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
504 {MP_MENUBARDROPDOWN
,MS_DEMOTED
,{'D','E','M','O','T','E','D','\0'}},
505 {MP_CHEVRON
,0,{'C','H','E','V','R','O','N','\0'}},
506 {MP_CHEVRON
,MS_NORMAL
,{'N','O','R','M','A','L','\0'}},
507 {MP_CHEVRON
,MS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
508 {MP_CHEVRON
,MS_DEMOTED
,{'D','E','M','O','T','E','D','\0'}},
509 {MP_SEPARATOR
,0,{'S','E','P','A','R','A','T','O','R','\0'}},
510 {MP_SEPARATOR
,MS_NORMAL
,{'N','O','R','M','A','L','\0'}},
511 {MP_SEPARATOR
,MS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
512 {MP_SEPARATOR
,MS_DEMOTED
,{'D','E','M','O','T','E','D','\0'}},
516 static const MSSTYLES_CLASS_MAP classMenuband
[] = {
517 {MDP_NEWAPPBUTTON
,0,{'N','E','W','A','P','P','B','U','T','T','O','N','\0'}},
518 {MDP_NEWAPPBUTTON
,MDS_NORMAL
,{'N','O','R','M','A','L','\0'}},
519 {MDP_NEWAPPBUTTON
,MDS_HOT
,{'H','O','T','\0'}},
520 {MDP_NEWAPPBUTTON
,MDS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
521 {MDP_NEWAPPBUTTON
,MDS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
522 {MDP_NEWAPPBUTTON
,MDS_CHECKED
,{'C','H','E','C','K','E','D','\0'}},
523 {MDP_NEWAPPBUTTON
,MDS_HOTCHECKED
,{'H','O','T','C','H','E','C','K','E','D','\0'}},
524 {MDP_SEPERATOR
,0,{'S','E','P','E','R','A','T','O','R','\0'}},
528 static const MSSTYLES_CLASS_MAP classPage
[] = {
529 {PGRP_UP
,0,{'U','P','\0'}},
530 {PGRP_UP
,UPS_NORMAL
,{'N','O','R','M','A','L','\0'}},
531 {PGRP_UP
,UPS_HOT
,{'H','O','T','\0'}},
532 {PGRP_UP
,UPS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
533 {PGRP_UP
,UPS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
534 {PGRP_DOWN
,0,{'D','O','W','N','\0'}},
535 {PGRP_DOWN
,DNS_NORMAL
,{'N','O','R','M','A','L','\0'}},
536 {PGRP_DOWN
,DNS_HOT
,{'H','O','T','\0'}},
537 {PGRP_DOWN
,DNS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
538 {PGRP_DOWN
,DNS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
539 {PGRP_UPHORZ
,0,{'U','P','H','O','R','Z','\0'}},
540 {PGRP_UPHORZ
,UPHZS_NORMAL
,{'N','O','R','M','A','L','\0'}},
541 {PGRP_UPHORZ
,UPHZS_HOT
,{'H','O','T','\0'}},
542 {PGRP_UPHORZ
,UPHZS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
543 {PGRP_UPHORZ
,UPHZS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
544 {PGRP_DOWNHORZ
,0,{'D','O','W','N','H','O','R','Z','\0'}},
545 {PGRP_DOWNHORZ
,DNHZS_NORMAL
,{'N','O','R','M','A','L','\0'}},
546 {PGRP_DOWNHORZ
,DNHZS_HOT
,{'H','O','T','\0'}},
547 {PGRP_DOWNHORZ
,DNHZS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
548 {PGRP_DOWNHORZ
,DNHZS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
552 static const MSSTYLES_CLASS_MAP classProgress
[] = {
553 {PP_BAR
,0,{'B','A','R','\0'}},
554 {PP_BARVERT
,0,{'B','A','R','V','E','R','T','\0'}},
555 {PP_CHUNK
,0,{'C','H','U','N','K','\0'}},
556 {PP_CHUNKVERT
,0,{'C','H','U','N','K','V','E','R','T','\0'}},
560 static const MSSTYLES_CLASS_MAP classRebar
[] = {
561 {RP_GRIPPER
,0,{'G','R','I','P','P','E','R','\0'}},
562 {RP_GRIPPERVERT
,0,{'G','R','I','P','P','E','R','V','E','R','T','\0'}},
563 {RP_BAND
,0,{'B','A','N','D','\0'}},
564 {RP_CHEVRON
,0,{'C','H','E','V','R','O','N','\0'}},
565 {RP_CHEVRON
,CHEVS_NORMAL
,{'N','O','R','M','A','L','\0'}},
566 {RP_CHEVRON
,CHEVS_HOT
,{'H','O','T','\0'}},
567 {RP_CHEVRON
,CHEVS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
568 {RP_CHEVRONVERT
,0,{'C','H','E','V','R','O','N','V','E','R','T','\0'}},
572 static const MSSTYLES_CLASS_MAP classScrollbar
[] = {
573 {SBP_ARROWBTN
,0,{'A','R','R','O','W','B','T','N','\0'}},
574 {SBP_ARROWBTN
,ABS_UPNORMAL
,{'U','P','N','O','R','M','A','L','\0'}},
575 {SBP_ARROWBTN
,ABS_UPHOT
,{'U','P','H','O','T','\0'}},
576 {SBP_ARROWBTN
,ABS_UPPRESSED
,{'U','P','P','R','E','S','S','E','D','\0'}},
577 {SBP_ARROWBTN
,ABS_UPDISABLED
,{'U','P','D','I','S','A','B','L','E','D','\0'}},
578 {SBP_ARROWBTN
,ABS_DOWNNORMAL
,{'D','O','W','N','N','O','R','M','A','L','\0'}},
579 {SBP_ARROWBTN
,ABS_DOWNHOT
,{'D','O','W','N','H','O','T','\0'}},
580 {SBP_ARROWBTN
,ABS_DOWNPRESSED
,{'D','O','W','N','P','R','E','S','S','E','D','\0'}},
581 {SBP_ARROWBTN
,ABS_DOWNDISABLED
,{'D','O','W','N','D','I','S','A','B','L','E','D','\0'}},
582 {SBP_ARROWBTN
,ABS_LEFTNORMAL
,{'L','E','F','T','N','O','R','M','A','L','\0'}},
583 {SBP_ARROWBTN
,ABS_LEFTHOT
,{'L','E','F','T','H','O','T','\0'}},
584 {SBP_ARROWBTN
,ABS_LEFTPRESSED
,{'L','E','F','T','P','R','E','S','S','E','D','\0'}},
585 {SBP_ARROWBTN
,ABS_LEFTDISABLED
,{'L','E','F','T','D','I','S','A','B','L','E','D','\0'}},
586 {SBP_ARROWBTN
,ABS_RIGHTNORMAL
,{'R','I','G','H','T','N','O','R','M','A','L','\0'}},
587 {SBP_ARROWBTN
,ABS_RIGHTHOT
,{'R','I','G','H','T','H','O','T','\0'}},
588 {SBP_ARROWBTN
,ABS_RIGHTPRESSED
,{'R','I','G','H','T','P','R','E','S','S','E','D','\0'}},
589 {SBP_ARROWBTN
,ABS_RIGHTDISABLED
,{'R','I','G','H','T','D','I','S','A','B','L','E','D','\0'}},
590 {SBP_THUMBBTNHORZ
,0,{'T','H','U','M','B','B','T','N','H','O','R','Z','\0'}},
591 {SBP_THUMBBTNHORZ
,SCRBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
592 {SBP_THUMBBTNHORZ
,SCRBS_HOT
,{'H','O','T','\0'}},
593 {SBP_THUMBBTNHORZ
,SCRBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
594 {SBP_THUMBBTNHORZ
,SCRBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
595 {SBP_THUMBBTNVERT
,0,{'T','H','U','M','B','B','T','N','V','E','R','T','\0'}},
596 {SBP_THUMBBTNVERT
,SCRBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
597 {SBP_THUMBBTNVERT
,SCRBS_HOT
,{'H','O','T','\0'}},
598 {SBP_THUMBBTNVERT
,SCRBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
599 {SBP_THUMBBTNVERT
,SCRBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
600 {SBP_LOWERTRACKHORZ
,0,{'L','O','W','E','R','T','R','A','C','K','H','O','R','Z','\0'}},
601 {SBP_LOWERTRACKHORZ
,SCRBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
602 {SBP_LOWERTRACKHORZ
,SCRBS_HOT
,{'H','O','T','\0'}},
603 {SBP_LOWERTRACKHORZ
,SCRBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
604 {SBP_LOWERTRACKHORZ
,SCRBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
605 {SBP_UPPERTRACKHORZ
,0,{'U','P','P','E','R','T','R','A','C','K','H','O','R','Z','\0'}},
606 {SBP_UPPERTRACKHORZ
,SCRBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
607 {SBP_UPPERTRACKHORZ
,SCRBS_HOT
,{'H','O','T','\0'}},
608 {SBP_UPPERTRACKHORZ
,SCRBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
609 {SBP_UPPERTRACKHORZ
,SCRBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
610 {SBP_LOWERTRACKVERT
,0,{'L','O','W','E','R','T','R','A','C','K','V','E','R','T','\0'}},
611 {SBP_LOWERTRACKVERT
,SCRBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
612 {SBP_LOWERTRACKVERT
,SCRBS_HOT
,{'H','O','T','\0'}},
613 {SBP_LOWERTRACKVERT
,SCRBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
614 {SBP_LOWERTRACKVERT
,SCRBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
615 {SBP_UPPERTRACKVERT
,0,{'U','P','P','E','R','T','R','A','C','K','V','E','R','T','\0'}},
616 {SBP_UPPERTRACKVERT
,SCRBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
617 {SBP_UPPERTRACKVERT
,SCRBS_HOT
,{'H','O','T','\0'}},
618 {SBP_UPPERTRACKVERT
,SCRBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
619 {SBP_UPPERTRACKVERT
,SCRBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
620 {SBP_GRIPPERHORZ
,0,{'G','R','I','P','P','E','R','H','O','R','Z','\0'}},
621 {SBP_GRIPPERVERT
,0,{'G','R','I','P','P','E','R','V','E','R','T','\0'}},
622 {SBP_SIZEBOX
,0,{'S','I','Z','E','B','O','X','\0'}},
623 {SBP_SIZEBOX
,SZB_RIGHTALIGN
,{'R','I','G','H','T','A','L','I','G','N','\0'}},
624 {SBP_SIZEBOX
,SZB_LEFTALIGN
,{'L','E','F','T','A','L','I','G','N','\0'}},
628 static const MSSTYLES_CLASS_MAP classSpin
[] = {
629 {SPNP_UP
,0,{'U','P','\0'}},
630 {SPNP_UP
,UPS_NORMAL
,{'N','O','R','M','A','L','\0'}},
631 {SPNP_UP
,UPS_HOT
,{'H','O','T','\0'}},
632 {SPNP_UP
,UPS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
633 {SPNP_UP
,UPS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
634 {SPNP_DOWN
,0,{'D','O','W','N','\0'}},
635 {SPNP_DOWN
,DNS_NORMAL
,{'N','O','R','M','A','L','\0'}},
636 {SPNP_DOWN
,DNS_HOT
,{'H','O','T','\0'}},
637 {SPNP_DOWN
,DNS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
638 {SPNP_DOWN
,DNS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
639 {SPNP_UPHORZ
,0,{'U','P','H','O','R','Z','\0'}},
640 {SPNP_UPHORZ
,UPHZS_NORMAL
,{'N','O','R','M','A','L','\0'}},
641 {SPNP_UPHORZ
,UPHZS_HOT
,{'H','O','T','\0'}},
642 {SPNP_UPHORZ
,UPHZS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
643 {SPNP_UPHORZ
,UPHZS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
644 {SPNP_DOWNHORZ
,0,{'D','O','W','N','H','O','R','Z','\0'}},
645 {SPNP_DOWNHORZ
,DNHZS_NORMAL
,{'N','O','R','M','A','L','\0'}},
646 {SPNP_DOWNHORZ
,DNHZS_HOT
,{'H','O','T','\0'}},
647 {SPNP_DOWNHORZ
,DNHZS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
648 {SPNP_DOWNHORZ
,DNHZS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
652 static const MSSTYLES_CLASS_MAP classStartpanel
[] = {
653 {SPP_USERPANE
,0,{'U','S','E','R','P','A','N','E','\0'}},
654 {SPP_MOREPROGRAMS
,0,{'M','O','R','E','P','R','O','G','R','A','M','S','\0'}},
655 {SPP_MOREPROGRAMSARROW
,0,{'M','O','R','E','P','R','O','G','R','A','M','S','A','R','R','O','W','\0'}},
656 {SPP_MOREPROGRAMSARROW
,SPS_NORMAL
,{'N','O','R','M','A','L','\0'}},
657 {SPP_MOREPROGRAMSARROW
,SPS_HOT
,{'H','O','T','\0'}},
658 {SPP_MOREPROGRAMSARROW
,SPS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
659 {SPP_PROGLIST
,0,{'P','R','O','G','L','I','S','T','\0'}},
660 {SPP_PROGLISTSEPARATOR
,0,{'P','R','O','G','L','I','S','T','S','E','P','A','R','A','T','O','R','\0'}},
661 {SPP_PLACESLIST
,0,{'P','L','A','C','E','S','L','I','S','T','\0'}},
662 {SPP_PLACESLISTSEPARATOR
,0,{'P','L','A','C','E','S','L','I','S','T','S','E','P','A','R','A','T','O','R','\0'}},
663 {SPP_LOGOFF
,0,{'L','O','G','O','F','F','\0'}},
664 {SPP_LOGOFFBUTTONS
,0,{'L','O','G','O','F','F','B','U','T','T','O','N','S','\0'}},
665 {SPP_LOGOFFBUTTONS
,SPLS_NORMAL
,{'N','O','R','M','A','L','\0'}},
666 {SPP_LOGOFFBUTTONS
,SPLS_HOT
,{'H','O','T','\0'}},
667 {SPP_LOGOFFBUTTONS
,SPLS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
668 {SPP_USERPICTURE
,0,{'U','S','E','R','P','I','C','T','U','R','E','\0'}},
669 {SPP_PREVIEW
,0,{'P','R','E','V','I','E','W','\0'}},
673 static const MSSTYLES_CLASS_MAP classStatus
[] = {
674 {SP_PANE
,0,{'P','A','N','E','\0'}},
675 {SP_GRIPPERPANE
,0,{'G','R','I','P','P','E','R','P','A','N','E','\0'}},
676 {SP_GRIPPER
,0,{'G','R','I','P','P','E','R','\0'}},
680 static const MSSTYLES_CLASS_MAP classTab
[] = {
681 {TABP_TABITEM
,0,{'T','A','B','I','T','E','M','\0'}},
682 {TABP_TABITEM
,TIS_NORMAL
,{'N','O','R','M','A','L','\0'}},
683 {TABP_TABITEM
,TIS_HOT
,{'H','O','T','\0'}},
684 {TABP_TABITEM
,TIS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
685 {TABP_TABITEM
,TIS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
686 {TABP_TABITEM
,TIS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
687 {TABP_TABITEMLEFTEDGE
,0,{'T','A','B','I','T','E','M','L','E','F','T','E','D','G','E','\0'}},
688 {TABP_TABITEMLEFTEDGE
,TILES_NORMAL
,{'N','O','R','M','A','L','\0'}},
689 {TABP_TABITEMLEFTEDGE
,TILES_HOT
,{'H','O','T','\0'}},
690 {TABP_TABITEMLEFTEDGE
,TILES_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
691 {TABP_TABITEMLEFTEDGE
,TILES_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
692 {TABP_TABITEMLEFTEDGE
,TILES_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
693 {TABP_TABITEMRIGHTEDGE
,0,{'T','A','B','I','T','E','M','R','I','G','H','T','E','D','G','E','\0'}},
694 {TABP_TABITEMRIGHTEDGE
,TIRES_NORMAL
,{'N','O','R','M','A','L','\0'}},
695 {TABP_TABITEMRIGHTEDGE
,TIRES_HOT
,{'H','O','T','\0'}},
696 {TABP_TABITEMRIGHTEDGE
,TIRES_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
697 {TABP_TABITEMRIGHTEDGE
,TIRES_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
698 {TABP_TABITEMRIGHTEDGE
,TIRES_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
699 {TABP_TABITEMBOTHEDGE
,0,{'T','A','B','I','T','E','M','B','O','T','H','E','D','G','E','\0'}},
700 {TABP_TABITEMBOTHEDGE
,TIBES_NORMAL
,{'N','O','R','M','A','L','\0'}},
701 {TABP_TABITEMBOTHEDGE
,TIBES_HOT
,{'H','O','T','\0'}},
702 {TABP_TABITEMBOTHEDGE
,TIBES_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
703 {TABP_TABITEMBOTHEDGE
,TIBES_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
704 {TABP_TABITEMBOTHEDGE
,TIBES_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
705 {TABP_TOPTABITEM
,0,{'T','O','P','T','A','B','I','T','E','M','\0'}},
706 {TABP_TOPTABITEM
,TTIS_NORMAL
,{'N','O','R','M','A','L','\0'}},
707 {TABP_TOPTABITEM
,TTIS_HOT
,{'H','O','T','\0'}},
708 {TABP_TOPTABITEM
,TTIS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
709 {TABP_TOPTABITEM
,TTIS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
710 {TABP_TOPTABITEM
,TTIS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
711 {TABP_TOPTABITEMLEFTEDGE
,0,{'T','O','P','T','A','B','I','T','E','M','L','E','F','T','E','D','G','E','\0'}},
712 {TABP_TOPTABITEMLEFTEDGE
,TTILES_NORMAL
,{'N','O','R','M','A','L','\0'}},
713 {TABP_TOPTABITEMLEFTEDGE
,TTILES_HOT
,{'H','O','T','\0'}},
714 {TABP_TOPTABITEMLEFTEDGE
,TTILES_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
715 {TABP_TOPTABITEMLEFTEDGE
,TTILES_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
716 {TABP_TOPTABITEMLEFTEDGE
,TTILES_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
717 {TABP_TOPTABITEMRIGHTEDGE
,0,{'T','O','P','T','A','B','I','T','E','M','R','I','G','H','T','E','D','G','E','\0'}},
718 {TABP_TOPTABITEMRIGHTEDGE
,TTIRES_NORMAL
,{'N','O','R','M','A','L','\0'}},
719 {TABP_TOPTABITEMRIGHTEDGE
,TTIRES_HOT
,{'H','O','T','\0'}},
720 {TABP_TOPTABITEMRIGHTEDGE
,TTIRES_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
721 {TABP_TOPTABITEMRIGHTEDGE
,TTIRES_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
722 {TABP_TOPTABITEMRIGHTEDGE
,TTIRES_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
723 {TABP_TOPTABITEMBOTHEDGE
,0,{'T','O','P','T','A','B','I','T','E','M','B','O','T','H','E','D','G','E','\0'}},
724 {TABP_TOPTABITEMBOTHEDGE
,TTIBES_NORMAL
,{'N','O','R','M','A','L','\0'}},
725 {TABP_TOPTABITEMBOTHEDGE
,TTIBES_HOT
,{'H','O','T','\0'}},
726 {TABP_TOPTABITEMBOTHEDGE
,TTIBES_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
727 {TABP_TOPTABITEMBOTHEDGE
,TTIBES_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
728 {TABP_TOPTABITEMBOTHEDGE
,TTIBES_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
729 {TABP_PANE
,0,{'P','A','N','E','\0'}},
730 {TABP_BODY
,0,{'B','O','D','Y','\0'}},
734 static const MSSTYLES_CLASS_MAP classTaskband
[] = {
735 {TDP_GROUPCOUNT
,0,{'G','R','O','U','P','C','O','U','N','T','\0'}},
736 {TDP_FLASHBUTTON
,0,{'F','L','A','S','H','B','U','T','T','O','N','\0'}},
737 {TDP_FLASHBUTTONGROUPMENU
,0,{'F','L','A','S','H','B','U','T','T','O','N','G','R','O','U','P','M','E','N','U','\0'}},
741 static const MSSTYLES_CLASS_MAP classTaskbar
[] = {
742 {TBP_BACKGROUNDBOTTOM
,0,{'B','A','C','K','G','R','O','U','N','D','B','O','T','T','O','M','\0'}},
743 {TBP_BACKGROUNDRIGHT
,0,{'B','A','C','K','G','R','O','U','N','D','R','I','G','H','T','\0'}},
744 {TBP_BACKGROUNDTOP
,0,{'B','A','C','K','G','R','O','U','N','D','T','O','P','\0'}},
745 {TBP_BACKGROUNDLEFT
,0,{'B','A','C','K','G','R','O','U','N','D','L','E','F','T','\0'}},
746 {TBP_SIZINGBARBOTTOM
,0,{'S','I','Z','I','N','G','B','A','R','B','O','T','T','O','M','\0'}},
747 {TBP_SIZINGBARRIGHT
,0,{'S','I','Z','I','N','G','B','A','R','R','I','G','H','T','\0'}},
748 {TBP_SIZINGBARTOP
,0,{'S','I','Z','I','N','G','B','A','R','T','O','P','\0'}},
749 {TBP_SIZINGBARLEFT
,0,{'S','I','Z','I','N','G','B','A','R','L','E','F','T','\0'}},
753 static const MSSTYLES_CLASS_MAP classToolbar
[] = {
754 {TP_BUTTON
,0,{'B','U','T','T','O','N','\0'}},
755 {TP_BUTTON
,TS_NORMAL
,{'N','O','R','M','A','L','\0'}},
756 {TP_BUTTON
,TS_HOT
,{'H','O','T','\0'}},
757 {TP_BUTTON
,TS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
758 {TP_BUTTON
,TS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
759 {TP_BUTTON
,TS_CHECKED
,{'C','H','E','C','K','E','D','\0'}},
760 {TP_BUTTON
,TS_HOTCHECKED
,{'H','O','T','C','H','E','C','K','E','D','\0'}},
761 {TP_DROPDOWNBUTTON
,0,{'D','R','O','P','D','O','W','N','B','U','T','T','O','N','\0'}},
762 {TP_DROPDOWNBUTTON
,TS_NORMAL
,{'N','O','R','M','A','L','\0'}},
763 {TP_DROPDOWNBUTTON
,TS_HOT
,{'H','O','T','\0'}},
764 {TP_DROPDOWNBUTTON
,TS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
765 {TP_DROPDOWNBUTTON
,TS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
766 {TP_DROPDOWNBUTTON
,TS_CHECKED
,{'C','H','E','C','K','E','D','\0'}},
767 {TP_DROPDOWNBUTTON
,TS_HOTCHECKED
,{'H','O','T','C','H','E','C','K','E','D','\0'}},
768 {TP_SPLITBUTTON
,0,{'S','P','L','I','T','B','U','T','T','O','N','\0'}},
769 {TP_SPLITBUTTON
,TS_NORMAL
,{'N','O','R','M','A','L','\0'}},
770 {TP_SPLITBUTTON
,TS_HOT
,{'H','O','T','\0'}},
771 {TP_SPLITBUTTON
,TS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
772 {TP_SPLITBUTTON
,TS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
773 {TP_SPLITBUTTON
,TS_CHECKED
,{'C','H','E','C','K','E','D','\0'}},
774 {TP_SPLITBUTTON
,TS_HOTCHECKED
,{'H','O','T','C','H','E','C','K','E','D','\0'}},
775 {TP_SPLITBUTTONDROPDOWN
,0,{'S','P','L','I','T','B','U','T','T','O','N','D','R','O','P','D','O','W','N','\0'}},
776 {TP_SPLITBUTTONDROPDOWN
,TS_NORMAL
,{'N','O','R','M','A','L','\0'}},
777 {TP_SPLITBUTTONDROPDOWN
,TS_HOT
,{'H','O','T','\0'}},
778 {TP_SPLITBUTTONDROPDOWN
,TS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
779 {TP_SPLITBUTTONDROPDOWN
,TS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
780 {TP_SPLITBUTTONDROPDOWN
,TS_CHECKED
,{'C','H','E','C','K','E','D','\0'}},
781 {TP_SPLITBUTTONDROPDOWN
,TS_HOTCHECKED
,{'H','O','T','C','H','E','C','K','E','D','\0'}},
782 {TP_SEPARATOR
,0,{'S','E','P','A','R','A','T','O','R','\0'}},
783 {TP_SEPARATOR
,TS_NORMAL
,{'N','O','R','M','A','L','\0'}},
784 {TP_SEPARATOR
,TS_HOT
,{'H','O','T','\0'}},
785 {TP_SEPARATOR
,TS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
786 {TP_SEPARATOR
,TS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
787 {TP_SEPARATOR
,TS_CHECKED
,{'C','H','E','C','K','E','D','\0'}},
788 {TP_SEPARATOR
,TS_HOTCHECKED
,{'H','O','T','C','H','E','C','K','E','D','\0'}},
789 {TP_SEPARATORVERT
,0,{'S','E','P','A','R','A','T','O','R','V','E','R','T','\0'}},
790 {TP_SEPARATORVERT
,TS_NORMAL
,{'N','O','R','M','A','L','\0'}},
791 {TP_SEPARATORVERT
,TS_HOT
,{'H','O','T','\0'}},
792 {TP_SEPARATORVERT
,TS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
793 {TP_SEPARATORVERT
,TS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
794 {TP_SEPARATORVERT
,TS_CHECKED
,{'C','H','E','C','K','E','D','\0'}},
795 {TP_SEPARATORVERT
,TS_HOTCHECKED
,{'H','O','T','C','H','E','C','K','E','D','\0'}},
799 static const MSSTYLES_CLASS_MAP classTooltip
[] = {
800 {TTP_STANDARD
,0,{'S','T','A','N','D','A','R','D','\0'}},
801 {TTP_STANDARD
,TTSS_NORMAL
,{'N','O','R','M','A','L','\0'}},
802 {TTP_STANDARD
,TTSS_LINK
,{'L','I','N','K','\0'}},
803 {TTP_STANDARDTITLE
,0,{'S','T','A','N','D','A','R','D','T','I','T','L','E','\0'}},
804 {TTP_STANDARDTITLE
,TTSS_NORMAL
,{'N','O','R','M','A','L','\0'}},
805 {TTP_STANDARDTITLE
,TTSS_LINK
,{'L','I','N','K','\0'}},
806 {TTP_BALLOON
,0,{'B','A','L','L','O','O','N','\0'}},
807 {TTP_BALLOON
,TTBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
808 {TTP_BALLOON
,TTBS_LINK
,{'L','I','N','K','\0'}},
809 {TTP_BALLOONTITLE
,0,{'B','A','L','L','O','O','N','T','I','T','L','E','\0'}},
810 {TTP_BALLOONTITLE
,TTBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
811 {TTP_BALLOONTITLE
,TTBS_LINK
,{'L','I','N','K','\0'}},
812 {TTP_CLOSE
,0,{'C','L','O','S','E','\0'}},
813 {TTP_CLOSE
,TTCS_NORMAL
,{'N','O','R','M','A','L','\0'}},
814 {TTP_CLOSE
,TTCS_HOT
,{'H','O','T','\0'}},
815 {TTP_CLOSE
,TTCS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
819 static const MSSTYLES_CLASS_MAP classTrackbar
[] = {
820 {TKP_TRACK
,0,{'T','R','A','C','K','\0'}},
821 {TKP_TRACK
,TRS_NORMAL
,{'N','O','R','M','A','L','\0'}},
822 {TKP_TRACKVERT
,0,{'T','R','A','C','K','V','E','R','T','\0'}},
823 {TKP_TRACKVERT
,TRVS_NORMAL
,{'N','O','R','M','A','L','\0'}},
824 {TKP_THUMB
,0,{'T','H','U','M','B','\0'}},
825 {TKP_THUMB
,TUS_NORMAL
,{'N','O','R','M','A','L','\0'}},
826 {TKP_THUMB
,TUS_HOT
,{'H','O','T','\0'}},
827 {TKP_THUMB
,TUS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
828 {TKP_THUMB
,TUS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
829 {TKP_THUMB
,TUS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
830 {TKP_THUMBBOTTOM
,0,{'T','H','U','M','B','B','O','T','T','O','M','\0'}},
831 {TKP_THUMBBOTTOM
,TUBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
832 {TKP_THUMBBOTTOM
,TUBS_HOT
,{'H','O','T','\0'}},
833 {TKP_THUMBBOTTOM
,TUBS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
834 {TKP_THUMBBOTTOM
,TUBS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
835 {TKP_THUMBBOTTOM
,TUBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
836 {TKP_THUMBTOP
,0,{'T','H','U','M','B','T','O','P','\0'}},
837 {TKP_THUMBTOP
,TUTS_NORMAL
,{'N','O','R','M','A','L','\0'}},
838 {TKP_THUMBTOP
,TUTS_HOT
,{'H','O','T','\0'}},
839 {TKP_THUMBTOP
,TUTS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
840 {TKP_THUMBTOP
,TUTS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
841 {TKP_THUMBTOP
,TUTS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
842 {TKP_THUMBVERT
,0,{'T','H','U','M','B','V','E','R','T','\0'}},
843 {TKP_THUMBVERT
,TUVS_NORMAL
,{'N','O','R','M','A','L','\0'}},
844 {TKP_THUMBVERT
,TUVS_HOT
,{'H','O','T','\0'}},
845 {TKP_THUMBVERT
,TUVS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
846 {TKP_THUMBVERT
,TUVS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
847 {TKP_THUMBVERT
,TUVS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
848 {TKP_THUMBLEFT
,0,{'T','H','U','M','B','L','E','F','T','\0'}},
849 {TKP_THUMBLEFT
,TUVLS_NORMAL
,{'N','O','R','M','A','L','\0'}},
850 {TKP_THUMBLEFT
,TUVLS_HOT
,{'H','O','T','\0'}},
851 {TKP_THUMBLEFT
,TUVLS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
852 {TKP_THUMBLEFT
,TUVLS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
853 {TKP_THUMBLEFT
,TUVLS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
854 {TKP_THUMBRIGHT
,0,{'T','H','U','M','B','R','I','G','H','T','\0'}},
855 {TKP_THUMBRIGHT
,TUVRS_NORMAL
,{'N','O','R','M','A','L','\0'}},
856 {TKP_THUMBRIGHT
,TUVRS_HOT
,{'H','O','T','\0'}},
857 {TKP_THUMBRIGHT
,TUVRS_PRESSED
,{'P','R','E','S','S','E','D','\0'}},
858 {TKP_THUMBRIGHT
,TUVRS_FOCUSED
,{'F','O','C','U','S','E','D','\0'}},
859 {TKP_THUMBRIGHT
,TUVRS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
860 {TKP_TICS
,0,{'T','I','C','S','\0'}},
861 {TKP_TICS
,TSS_NORMAL
,{'N','O','R','M','A','L','\0'}},
862 {TKP_TICSVERT
,0,{'T','I','C','S','V','E','R','T','\0'}},
863 {TKP_TICSVERT
,TSVS_NORMAL
,{'N','O','R','M','A','L','\0'}},
867 static const MSSTYLES_CLASS_MAP classTraynotify
[] = {
868 {TNP_BACKGROUND
,0,{'B','A','C','K','G','R','O','U','N','D','\0'}},
869 {TNP_ANIMBACKGROUND
,0,{'A','N','I','M','B','A','C','K','G','R','O','U','N','D','\0'}},
873 static const MSSTYLES_CLASS_MAP classTreeview
[] = {
874 {TVP_TREEITEM
,0,{'T','R','E','E','I','T','E','M','\0'}},
875 {TVP_TREEITEM
,TREIS_NORMAL
,{'N','O','R','M','A','L','\0'}},
876 {TVP_TREEITEM
,TREIS_HOT
,{'H','O','T','\0'}},
877 {TVP_TREEITEM
,TREIS_SELECTED
,{'S','E','L','E','C','T','E','D','\0'}},
878 {TVP_TREEITEM
,TREIS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
879 {TVP_TREEITEM
,TREIS_SELECTEDNOTFOCUS
,{'S','E','L','E','C','T','E','D','N','O','T','F','O','C','U','S','\0'}},
880 {TVP_GLYPH
,0,{'G','L','Y','P','H','\0'}},
881 {TVP_GLYPH
,GLPS_CLOSED
,{'C','L','O','S','E','D','\0'}},
882 {TVP_GLYPH
,GLPS_OPENED
,{'O','P','E','N','E','D','\0'}},
883 {TVP_BRANCH
,0,{'B','R','A','N','C','H','\0'}},
887 static const MSSTYLES_CLASS_MAP classWindow
[] = {
888 {WP_CAPTION
,0,{'C','A','P','T','I','O','N','\0'}},
889 {WP_CAPTION
,CS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
890 {WP_CAPTION
,CS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
891 {WP_CAPTION
,CS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
892 {WP_SMALLCAPTION
,0,{'S','M','A','L','L','C','A','P','T','I','O','N','\0'}},
893 {WP_SMALLCAPTION
,CS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
894 {WP_SMALLCAPTION
,CS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
895 {WP_SMALLCAPTION
,CS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
896 {WP_MINCAPTION
,0,{'M','I','N','C','A','P','T','I','O','N','\0'}},
897 {WP_MINCAPTION
,MNCS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
898 {WP_MINCAPTION
,MNCS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
899 {WP_MINCAPTION
,MNCS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
900 {WP_SMALLMINCAPTION
,0,{'S','M','A','L','L','M','I','N','C','A','P','T','I','O','N','\0'}},
901 {WP_SMALLMINCAPTION
,MNCS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
902 {WP_SMALLMINCAPTION
,MNCS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
903 {WP_SMALLMINCAPTION
,MNCS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
904 {WP_MAXCAPTION
,0,{'M','A','X','C','A','P','T','I','O','N','\0'}},
905 {WP_MAXCAPTION
,MXCS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
906 {WP_MAXCAPTION
,MXCS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
907 {WP_MAXCAPTION
,MXCS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
908 {WP_SMALLMAXCAPTION
,0,{'S','M','A','L','L','M','A','X','C','A','P','T','I','O','N','\0'}},
909 {WP_SMALLMAXCAPTION
,MXCS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
910 {WP_SMALLMAXCAPTION
,MXCS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
911 {WP_SMALLMAXCAPTION
,MXCS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
912 {WP_FRAMELEFT
,0,{'F','R','A','M','E','L','E','F','T','\0'}},
913 {WP_FRAMELEFT
,FS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
914 {WP_FRAMELEFT
,FS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
915 {WP_FRAMERIGHT
,0,{'F','R','A','M','E','R','I','G','H','T','\0'}},
916 {WP_FRAMERIGHT
,FS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
917 {WP_FRAMERIGHT
,FS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
918 {WP_FRAMEBOTTOM
,0,{'F','R','A','M','E','B','O','T','T','O','M','\0'}},
919 {WP_FRAMEBOTTOM
,FS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
920 {WP_FRAMEBOTTOM
,FS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
921 {WP_SMALLFRAMELEFT
,0,{'S','M','A','L','L','F','R','A','M','E','L','E','F','T','\0'}},
922 {WP_SMALLFRAMELEFT
,FS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
923 {WP_SMALLFRAMELEFT
,FS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
924 {WP_SMALLFRAMERIGHT
,0,{'S','M','A','L','L','F','R','A','M','E','R','I','G','H','T','\0'}},
925 {WP_SMALLFRAMERIGHT
,FS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
926 {WP_SMALLFRAMERIGHT
,FS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
927 {WP_SMALLFRAMEBOTTOM
,0,{'S','M','A','L','L','F','R','A','M','E','B','O','T','T','O','M','\0'}},
928 {WP_SMALLFRAMEBOTTOM
,FS_ACTIVE
,{'A','C','T','I','V','E','\0'}},
929 {WP_SMALLFRAMEBOTTOM
,FS_INACTIVE
,{'I','N','A','C','T','I','V','E','\0'}},
930 {WP_SYSBUTTON
,0,{'S','Y','S','B','U','T','T','O','N','\0'}},
931 {WP_SYSBUTTON
,SBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
932 {WP_SYSBUTTON
,SBS_HOT
,{'H','O','T','\0'}},
933 {WP_SYSBUTTON
,SBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
934 {WP_SYSBUTTON
,SBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
935 {WP_MDISYSBUTTON
,0,{'M','D','I','S','Y','S','B','U','T','T','O','N','\0'}},
936 {WP_MDISYSBUTTON
,SBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
937 {WP_MDISYSBUTTON
,SBS_HOT
,{'H','O','T','\0'}},
938 {WP_MDISYSBUTTON
,SBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
939 {WP_MDISYSBUTTON
,SBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
940 {WP_MINBUTTON
,0,{'M','I','N','B','U','T','T','O','N','\0'}},
941 {WP_MINBUTTON
,MINBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
942 {WP_MINBUTTON
,MINBS_HOT
,{'H','O','T','\0'}},
943 {WP_MINBUTTON
,MINBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
944 {WP_MINBUTTON
,MINBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
945 {WP_MDIMINBUTTON
,0,{'M','D','I','M','I','N','B','U','T','T','O','N','\0'}},
946 {WP_MDIMINBUTTON
,MINBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
947 {WP_MDIMINBUTTON
,MINBS_HOT
,{'H','O','T','\0'}},
948 {WP_MDIMINBUTTON
,MINBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
949 {WP_MDIMINBUTTON
,MINBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
950 {WP_MAXBUTTON
,0,{'M','A','X','B','U','T','T','O','N','\0'}},
951 {WP_MAXBUTTON
,MAXBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
952 {WP_MAXBUTTON
,MAXBS_HOT
,{'H','O','T','\0'}},
953 {WP_MAXBUTTON
,MAXBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
954 {WP_MAXBUTTON
,MAXBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
955 {WP_CLOSEBUTTON
,0,{'C','L','O','S','E','B','U','T','T','O','N','\0'}},
956 {WP_CLOSEBUTTON
,CBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
957 {WP_CLOSEBUTTON
,CBS_HOT
,{'H','O','T','\0'}},
958 {WP_CLOSEBUTTON
,CBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
959 {WP_CLOSEBUTTON
,CBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
960 {WP_SMALLCLOSEBUTTON
,0,{'S','M','A','L','L','C','L','O','S','E','B','U','T','T','O','N','\0'}},
961 {WP_SMALLCLOSEBUTTON
,CBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
962 {WP_SMALLCLOSEBUTTON
,CBS_HOT
,{'H','O','T','\0'}},
963 {WP_SMALLCLOSEBUTTON
,CBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
964 {WP_SMALLCLOSEBUTTON
,CBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
965 {WP_MDICLOSEBUTTON
,0,{'M','D','I','C','L','O','S','E','B','U','T','T','O','N','\0'}},
966 {WP_MDICLOSEBUTTON
,CBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
967 {WP_MDICLOSEBUTTON
,CBS_HOT
,{'H','O','T','\0'}},
968 {WP_MDICLOSEBUTTON
,CBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
969 {WP_MDICLOSEBUTTON
,CBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
970 {WP_RESTOREBUTTON
,0,{'R','E','S','T','O','R','E','B','U','T','T','O','N','\0'}},
971 {WP_RESTOREBUTTON
,RBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
972 {WP_RESTOREBUTTON
,RBS_HOT
,{'H','O','T','\0'}},
973 {WP_RESTOREBUTTON
,RBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
974 {WP_RESTOREBUTTON
,RBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
975 {WP_MDIRESTOREBUTTON
,0,{'M','D','I','R','E','S','T','O','R','E','B','U','T','T','O','N','\0'}},
976 {WP_MDIRESTOREBUTTON
,RBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
977 {WP_MDIRESTOREBUTTON
,RBS_HOT
,{'H','O','T','\0'}},
978 {WP_MDIRESTOREBUTTON
,RBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
979 {WP_MDIRESTOREBUTTON
,RBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
980 {WP_HELPBUTTON
,0,{'H','E','L','P','B','U','T','T','O','N','\0'}},
981 {WP_HELPBUTTON
,HBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
982 {WP_HELPBUTTON
,HBS_HOT
,{'H','O','T','\0'}},
983 {WP_HELPBUTTON
,HBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
984 {WP_HELPBUTTON
,HBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
985 {WP_MDIHELPBUTTON
,0,{'M','D','I','H','E','L','P','B','U','T','T','O','N','\0'}},
986 {WP_MDIHELPBUTTON
,HBS_NORMAL
,{'N','O','R','M','A','L','\0'}},
987 {WP_MDIHELPBUTTON
,HBS_HOT
,{'H','O','T','\0'}},
988 {WP_MDIHELPBUTTON
,HBS_PUSHED
,{'P','U','S','H','E','D','\0'}},
989 {WP_MDIHELPBUTTON
,HBS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
990 {WP_HORZSCROLL
,0,{'H','O','R','Z','S','C','R','O','L','L','\0'}},
991 {WP_HORZSCROLL
,HSS_NORMAL
,{'N','O','R','M','A','L','\0'}},
992 {WP_HORZSCROLL
,HSS_HOT
,{'H','O','T','\0'}},
993 {WP_HORZSCROLL
,HSS_PUSHED
,{'P','U','S','H','E','D','\0'}},
994 {WP_HORZSCROLL
,HSS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
995 {WP_HORZTHUMB
,0,{'H','O','R','Z','T','H','U','M','B','\0'}},
996 {WP_HORZTHUMB
,HTS_NORMAL
,{'N','O','R','M','A','L','\0'}},
997 {WP_HORZTHUMB
,HTS_HOT
,{'H','O','T','\0'}},
998 {WP_HORZTHUMB
,HTS_PUSHED
,{'P','U','S','H','E','D','\0'}},
999 {WP_HORZTHUMB
,HTS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
1000 {WP_VERTSCROLL
,0,{'V','E','R','T','S','C','R','O','L','L','\0'}},
1001 {WP_VERTSCROLL
,VSS_NORMAL
,{'N','O','R','M','A','L','\0'}},
1002 {WP_VERTSCROLL
,VSS_HOT
,{'H','O','T','\0'}},
1003 {WP_VERTSCROLL
,VSS_PUSHED
,{'P','U','S','H','E','D','\0'}},
1004 {WP_VERTSCROLL
,VSS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
1005 {WP_VERTTHUMB
,0,{'V','E','R','T','T','H','U','M','B','\0'}},
1006 {WP_VERTTHUMB
,VTS_NORMAL
,{'N','O','R','M','A','L','\0'}},
1007 {WP_VERTTHUMB
,VTS_HOT
,{'H','O','T','\0'}},
1008 {WP_VERTTHUMB
,VTS_PUSHED
,{'P','U','S','H','E','D','\0'}},
1009 {WP_VERTTHUMB
,VTS_DISABLED
,{'D','I','S','A','B','L','E','D','\0'}},
1010 {WP_DIALOG
,0,{'D','I','A','L','O','G','\0'}},
1011 {WP_CAPTIONSIZINGTEMPLATE
,0,{'C','A','P','T','I','O','N','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1012 {WP_SMALLCAPTIONSIZINGTEMPLATE
,0,{'S','M','A','L','L','C','A','P','T','I','O','N','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1013 {WP_FRAMELEFTSIZINGTEMPLATE
,0,{'F','R','A','M','E','L','E','F','T','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1014 {WP_SMALLFRAMELEFTSIZINGTEMPLATE
,0,{'S','M','A','L','L','F','R','A','M','E','L','E','F','T','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1015 {WP_FRAMERIGHTSIZINGTEMPLATE
,0,{'F','R','A','M','E','R','I','G','H','T','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1016 {WP_SMALLFRAMERIGHTSIZINGTEMPLATE
,0,{'S','M','A','L','L','F','R','A','M','E','R','I','G','H','T','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1017 {WP_FRAMEBOTTOMSIZINGTEMPLATE
,0,{'F','R','A','M','E','B','O','T','T','O','M','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1018 {WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE
,0,{'S','M','A','L','L','F','R','A','M','E','B','O','T','T','O','M','S','I','Z','I','N','G','T','E','M','P','L','A','T','E','\0'}},
1022 /* Map class names to part/state maps */
1023 static const MSSTYLES_CLASS_NAME mapClass
[] = {
1024 {classGlobals
, {'G','L','O','B','A','L','S','\0'}},
1025 {classButton
, {'B','U','T','T','O','N','\0'}},
1026 {classClock
, {'C','L','O','C','K','\0'}},
1027 {classCombobox
, {'C','O','M','B','O','B','O','X','\0'}},
1028 {classEdit
, {'E','D','I','T','\0'}},
1029 {classExplorerbar
, {'E','X','P','L','O','R','E','R','B','A','R','\0'}},
1030 {classHeader
, {'H','E','A','D','E','R','\0'}},
1031 {classListview
, {'L','I','S','T','V','I','E','W','\0'}},
1032 {classMenu
, {'M','E','N','U','\0'}},
1033 {classMenuband
, {'M','E','N','U','B','A','N','D','\0'}},
1034 {classPage
, {'P','A','G','E','\0'}},
1035 {classProgress
, {'P','R','O','G','R','E','S','S','\0'}},
1036 {classRebar
, {'R','E','B','A','R','\0'}},
1037 {classScrollbar
, {'S','C','R','O','L','L','B','A','R','\0'}},
1038 {classSpin
, {'S','P','I','N','\0'}},
1039 {classStartpanel
, {'S','T','A','R','T','P','A','N','E','L','\0'}},
1040 {classStatus
, {'S','T','A','T','U','S','\0'}},
1041 {classTab
, {'T','A','B','\0'}},
1042 {classTaskband
, {'T','A','S','K','B','A','N','D','\0'}},
1043 {classTaskbar
, {'T','A','S','K','B','A','R','\0'}},
1044 {classToolbar
, {'T','O','O','L','B','A','R','\0'}},
1045 {classTooltip
, {'T','O','O','L','T','I','P','\0'}},
1046 {classTrackbar
, {'T','R','A','C','K','B','A','R','\0'}},
1047 {classTraynotify
, {'T','R','A','Y','N','O','T','I','F','Y','\0'}},
1048 {classTreeview
, {'T','R','E','E','V','I','E','W','\0'}},
1049 {classWindow
, {'W','I','N','D','O','W','\0'}}
1052 BOOL
MSSTYLES_LookupPartState(LPCWSTR pszClass
, LPCWSTR pszPart
, LPCWSTR pszState
, int *iPartId
, int *iStateId
)
1055 const MSSTYLES_CLASS_MAP
*map
;
1059 for(i
=0; i
<sizeof(mapClass
)/sizeof(mapClass
[0]); i
++) {
1060 if(!lstrcmpiW(mapClass
[i
].pszClass
, pszClass
)) {
1061 map
= mapClass
[i
].lpMap
;
1064 if(map
->dwStateID
== 0 && !lstrcmpiW(map
->szName
, pszPart
)) {
1065 *iPartId
= map
->dwPartID
;
1068 } while(*((++map
)->szName
));
1071 if(pszPart
&& *iPartId
== 0) {
1076 if(map
->dwPartID
== *iPartId
&& !lstrcmpiW(map
->szName
, pszState
)) {
1077 *iStateId
= map
->dwStateID
;
1082 if(!lstrcmpiW(map
->szName
, pszState
)) {
1083 *iStateId
= map
->dwStateID
;
1087 } while(*((++map
)->szName
));
1092 if(pszPart
&& *iPartId
== 0) {
1095 if(pszState
&& *iStateId
== 0) {
1101 /**********************************************************************
1102 * MSSTYLES_LookupProperty
1104 * Find a property ID from name
1107 * pszPropertyName Name of property to lookup
1108 * dwPrimitive Location to store primitive type of property
1109 * dwId Location to store ID of property
1112 * FALSE if value is not found, TRUE otherwise
1114 BOOL
MSSTYLES_LookupProperty(LPCWSTR pszPropertyName
, int *dwPrimitive
, int *dwId
)
1118 if(!lstrcmpiW(mapProperty
[item
].szPropertyName
, pszPropertyName
)) {
1119 if(dwPrimitive
) *dwPrimitive
= mapProperty
[item
].dwPrimitiveType
;
1120 if(dwId
) *dwId
= mapProperty
[item
].dwPropertyID
;
1123 } while(*mapProperty
[++item
].szPropertyName
);
1127 /**********************************************************************
1128 * MSSTYLES_LookupEnum
1130 * Lookup the value for an enumeration
1133 * pszValueName Value name to lookup
1134 * dwEnum Enumeration property ID to search
1135 * dwValue Location to store value
1138 * FALSE if value is not found, TRUE otherwise
1140 BOOL
MSSTYLES_LookupEnum(LPCWSTR pszValueName
, int dwEnum
, int *dwValue
)
1143 /* Locate the enum block */
1144 while(*mapEnum
[item
].szValueName
&& mapEnum
[item
].dwEnum
!= dwEnum
) item
++;
1145 /* Now find the value in that block */
1146 while(*mapEnum
[item
].szValueName
&& mapEnum
[item
].dwEnum
== dwEnum
) {
1147 if(!lstrcmpiW(mapEnum
[item
].szValueName
, pszValueName
)) {
1148 if(dwValue
) *dwValue
= mapEnum
[item
].dwValue
;