7 # if !defined(_UXTHEME_)
8 # define THEMEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
9 # define THEMEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
11 # define THEMEAPI STDAPI
12 # define THEMEAPI_(type) STDAPI_(type)
16 typedef HANDLE HTHEME
;
18 THEMEAPI_(HTHEME
) OpenThemeData
21 IN LPCWSTR pszClassList
24 THEMEAPI CloseThemeData
29 THEMEAPI DrawThemeBackground
35 IN
const RECT
* pRect
,
36 IN OPTIONAL
const RECT
* pClipRect
39 #define DTT_GRAYED (1)
41 THEMEAPI DrawThemeText
50 IN DWORD dwTextFlags2
,
54 THEMEAPI GetThemeBackgroundContentRect
60 IN
const RECT
* pBoundingRect
,
61 OUT RECT
* pContentRect
64 THEMEAPI GetThemeBackgroundExtent
70 IN
const RECT
* pContentRect
,
71 OUT RECT
* pExtentRect
81 THEMEAPI GetThemePartSize
87 IN OPTIONAL RECT
* prc
,
88 IN
enum THEMESIZE eSize
,
92 THEMEAPI GetThemeTextExtent
100 IN DWORD dwTextFlags
,
101 IN OPTIONAL
const RECT
* pBoundingRect
,
102 OUT RECT
* pExtentRect
105 THEMEAPI GetThemeTextMetrics
114 THEMEAPI GetThemeBackgroundRegion
120 IN
const RECT
* pRect
,
124 #define HTTB_BACKGROUNDSEG (0x00000000)
125 #define HTTB_FIXEDBORDER (0x00000002)
126 #define HTTB_CAPTION (0x00000004)
127 #define HTTB_RESIZINGBORDER_LEFT (0x00000010)
128 #define HTTB_RESIZINGBORDER_TOP (0x00000020)
129 #define HTTB_RESIZINGBORDER_RIGHT (0x00000040)
130 #define HTTB_RESIZINGBORDER_BOTTOM (0x00000080)
131 #define HTTB_SIZINGTEMPLATE (0x00000100)
132 #define HTTB_SYSTEMSIZINGMARGINS (0x00000200)
134 #define HTTB_RESIZINGBORDER \
136 HTTB_RESIZINGBORDER_LEFT | \
137 HTTB_RESIZINGBORDER_TOP | \
138 HTTB_RESIZINGBORDER_RIGHT | \
139 HTTB_RESIZINGBORDER_BOTTOM \
142 THEMEAPI HitTestThemeBackground
149 IN
const RECT
* pRect
,
150 IN OPTIONAL HRGN hrgn
,
152 OUT WORD
* pwHitTestCode
155 THEMEAPI DrawThemeEdge
161 IN
const RECT
* pDestRect
,
164 OUT OPTIONAL RECT
* pContentRect
167 THEMEAPI DrawThemeIcon
173 IN
const RECT
* pRect
,
178 THEMEAPI_(BOOL
) IsThemePartDefined
185 THEMEAPI_(BOOL
) IsThemeBackgroundPartiallyTransparent
192 THEMEAPI GetThemeColor
198 OUT COLORREF
* pColor
201 THEMEAPI GetThemeMetric
211 THEMEAPI GetThemeString
218 IN
int cchMaxBuffChars
221 THEMEAPI GetThemeBool
239 THEMEAPI GetThemeEnumValue
248 THEMEAPI GetThemePosition
257 THEMEAPI GetThemeFont
267 THEMEAPI GetThemeRect
276 typedef struct _MARGINS
285 THEMEAPI GetThemeMargins
292 IN OPTIONAL RECT
* prc
,
293 OUT MARGINS
* pMargins
296 #define MAX_INTLIST_COUNT (10)
298 typedef struct _INTLIST
301 int iValues
[MAX_INTLIST_COUNT
];
305 THEMEAPI GetThemeIntList
311 OUT INTLIST
* pIntList
323 THEMEAPI GetThemePropertyOrigin
329 OUT
enum PROPERTYORIGIN
* pOrigin
332 THEMEAPI SetWindowTheme
335 IN LPCWSTR pszSubAppName
,
336 IN LPCWSTR pszSubIdList
339 THEMEAPI GetThemeFilename
345 OUT LPWSTR pszThemeFileName
,
346 IN
int cchMaxBuffChars
349 THEMEAPI_(COLORREF
) GetThemeSysColor
355 THEMEAPI_(HBRUSH
) GetThemeSysColorBrush
361 THEMEAPI_(BOOL
) GetThemeSysBool
367 THEMEAPI_(int) GetThemeSysSize
373 THEMEAPI GetThemeSysFont
380 THEMEAPI GetThemeSysString
384 OUT LPWSTR pszStringBuff
,
385 IN
int cchMaxStringChars
388 THEMEAPI GetThemeSysInt
395 THEMEAPI_(BOOL
) IsThemeActive(void);
397 THEMEAPI_(BOOL
) IsAppThemed(void);
399 THEMEAPI_(HTHEME
) GetWindowTheme
404 #define ETDT_DISABLE (0x00000001)
405 #define ETDT_ENABLE (0x00000002)
406 #define ETDT_USETABTEXTURE (0x00000004)
407 #define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE)
409 THEMEAPI EnableThemeDialogTexture
415 THEMEAPI_(BOOL
) IsThemeDialogTextureEnabled
420 #define STAP_ALLOW_NONCLIENT (0x00000001)
421 #define STAP_ALLOW_CONTROLS (0x00000002)
422 #define STAP_ALLOW_WEBCONTENT (0x00000004)
424 THEMEAPI_(DWORD
) GetThemeAppProperties(void);
426 THEMEAPI_(void) SetThemeAppProperties
431 THEMEAPI GetCurrentThemeName
433 OUT LPWSTR pszThemeFileName
,
434 IN
int cchMaxNameChars
,
435 OUT OPTIONAL LPWSTR pszColorBuff
,
436 IN
int cchMaxColorChars
,
437 OUT OPTIONAL LPWSTR pszSizeBuff
,
438 IN
int cchMaxSizeChars
441 #define SZ_THDOCPROP_DISPLAYNAME L"DisplayName"
442 #define SZ_THDOCPROP_CANONICALNAME L"ThemeName"
443 #define SZ_THDOCPROP_TOOLTIP L"ToolTip"
444 #define SZ_THDOCPROP_AUTHOR L"author"
446 THEMEAPI GetThemeDocumentationProperty
448 IN LPCWSTR pszThemeName
,
449 IN LPCWSTR pszPropertyName
,
450 OUT LPWSTR pszValueBuff
,
451 IN
int cchMaxValChars
454 THEMEAPI DrawThemeParentBackground
458 IN OPTIONAL RECT
* prc
461 THEMEAPI EnableTheming