ReactOS 0.4.16-dev-981-g80eb313
uxthemep.h
Go to the documentation of this file.
1#ifndef _UXTHEME_PCH_
2#define _UXTHEME_PCH_
3
4#include <stdarg.h>
5
6#include "resource.h"
7
8#define WIN32_NO_STATUS
9#define _INC_WINDOWS
10#define COM_NO_WINDOWS_H
11
12#include <windef.h>
13#include <winbase.h>
14#include <wingdi.h>
15#include <winuser.h>
16#include <winnls.h>
17#include <windowsx.h>
18#include <undocuser.h>
19#include <undocgdi.h>
20#include <uxtheme.h>
21#include <uxundoc.h>
22#include <vfwmsgs.h>
23#include <tmschema.h>
24
25#define NTOS_MODE_USER
26#include <ndk/ntndk.h>
27#include <ndk/rtltypes.h>
28
29#include <wine/debug.h>
31
32#define TMT_ENUM 200
33
34#define MAX_THEME_APP_NAME 60
35#define MAX_THEME_CLASS_NAME 60
36#define MAX_THEME_VALUE_NAME 60
37
38typedef struct _THEME_PROPERTY {
41 PROPERTYORIGIN origin;
42
45
48
49typedef struct _THEME_PARTSTATE {
53
56
57struct _THEME_FILE;
58
59typedef struct _THEME_CLASS {
61 struct _THEME_FILE* tf;
66
69
70typedef struct _THEME_IMAGE {
74
77
78typedef struct _THEME_FILE {
84
87
92
93typedef struct tagTMERRINFO
94{
102
103typedef struct _UXINI_FILE *PUXINI_FILE;
104
105typedef struct _UXTHEME_HANDLE
106{
110
112
113HRESULT UXTHEME_LoadImage(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, BOOL glyph,
114 HBITMAP *hBmp, RECT *bmpRect, BOOL* hasImageAlpha);
115
116BOOL MSSTYLES_LookupProperty(LPCWSTR pszPropertyName, int *dwPrimitive, int *dwId);
117BOOL MSSTYLES_LookupEnum(LPCWSTR pszValueName, int dwEnum, int *dwValue);
118BOOL MSSTYLES_LookupPartState(LPCWSTR pszClass, LPCWSTR pszPart, LPCWSTR pszState, int *iPartId, int *iStateId);
119
120HRESULT MSSTYLES_OpenThemeFile(LPCWSTR lpThemeFile, LPCWSTR pszColorName, LPCWSTR pszSizeName, PTHEME_FILE *tf);
127PTHEME_PARTSTATE MSSTYLES_FindPartState(PTHEME_CLASS tc, int iPartId, int iStateId, PTHEME_CLASS *tcNext);
128PTHEME_PROPERTY MSSTYLES_FindProperty(PTHEME_CLASS tc, int iPartId, int iStateId, int iPropertyPrimitive, int iPropertyId);
129PTHEME_PROPERTY MSSTYLES_FindMetric(PTHEME_FILE tf, int iPropertyPrimitive, int iPropertyId);
130#ifdef ENABLE_PNG_SUPPORT
132BOOL
134 _In_ HINSTANCE hTheme,
135 _In_ LPCWSTR szFile,
137 _Out_ HBITMAP *phBitmap);
139BOOL
141 _In_ HBITMAP png,
142 _Out_ BOOL* hasAlpha);
143#endif /* ENABLE_PNG_SUPPORT */
144HBITMAP MSSTYLES_LoadBitmap(PTHEME_CLASS tc, LPCWSTR lpFilename, BOOL* hasAlpha);
145
152HRESULT MSSTYLES_GetPropertyString(PTHEME_PROPERTY tp, LPWSTR pszBuff, int cchMaxBuffChars);
155
160LPCWSTR UXINI_GetNextValue(PUXINI_FILE uf, DWORD *dwNameLen, LPCWSTR *lpValue, DWORD *dwValueLen);
161BOOL UXINI_FindValue(PUXINI_FILE uf, LPCWSTR lpName, LPCWSTR *lpValue, DWORD *dwValueLen);
162
163 /* Scroll-bar hit testing */
165{
166 SCROLL_NOWHERE, /* Outside the scroll bar */
167 SCROLL_TOP_ARROW, /* Top or left arrow */
168 SCROLL_TOP_RECT, /* Rectangle between the top arrow and the thumb */
169 SCROLL_THUMB, /* Thumb rectangle */
170 SCROLL_BOTTOM_RECT, /* Rectangle between the thumb and the bottom arrow */
171 SCROLL_BOTTOM_ARROW /* Bottom or right arrow */
173
174/* The window context stores data for the window needed through the life of the window */
175typedef struct _WND_DATA
176{
179
188
191 BOOL SCROLL_MovingThumb; /* Is the moving thumb being displayed? */
197
198/* The draw context stores data that are needed by the drawing operations in the non client area of the window */
199typedef struct _DRAW_CONTEXT
200{
207 BOOL Active; /* wi.dwWindowStatus isn't correct for mdi child windows */
208 HRGN hRgn;
210
211 /* for double buffering */
215
216typedef enum
217{
223
224/*
225The following values specify all possible button states
226Note that not all of them are documented but it is easy to
227find them by opening a theme file
228*/
229typedef enum {
239
240#define HT_ISBUTTON(ht) ((ht) == HTMINBUTTON || (ht) == HTMAXBUTTON || (ht) == HTCLOSE || (ht) == HTHELP)
241
242#define HASSIZEGRIP(Style, ExStyle, ParentStyle, WindowRect, ParentClientRect) \
243 ((!(Style & WS_CHILD) && (Style & WS_THICKFRAME) && !(Style & WS_MAXIMIZE)) || \
244 ((Style & WS_CHILD) && (ParentStyle & WS_THICKFRAME) && !(ParentStyle & WS_MAXIMIZE) && \
245 (WindowRect.right - WindowRect.left == ParentClientRect.right) && \
246 (WindowRect.bottom - WindowRect.top == ParentClientRect.bottom)))
247
248#define HAS_MENU(hwnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && GetMenu(hwnd))
249
250#define BUTTON_GAP_SIZE 2
251
252#define MENU_BAR_ITEMS_SPACE (12)
253
254#define SCROLL_TIMER 0 /* Scroll timer id */
255
256 /* Overlap between arrows and thumb */
257#define SCROLL_ARROW_THUMB_OVERLAP 0
258
259 /* Delay (in ms) before first repetition when holding the button down */
260#define SCROLL_FIRST_DELAY 200
261
262 /* Delay (in ms) between scroll repetitions */
263#define SCROLL_REPEAT_DELAY 50
264
265/* Minimum size of the thumb in pixels */
266#define SCROLL_MIN_THUMB 6
267
268/* Minimum size of the rectangle between the arrows */
269#define SCROLL_MIN_RECT 4
270
274void ThemeDrawScrollBarEx(PDRAW_CONTEXT pcontext, INT nBar, PSCROLLBARINFO psbi, POINT* pt);
277void ThemeInitDrawContext(PDRAW_CONTEXT pcontext, HWND hWnd, HRGN hRgn);
282
283extern HINSTANCE hDllInst;
284extern ATOM atWindowTheme;
285extern ATOM atWndContext;
287
290void UXTHEME_LoadTheme(BOOL bLoad);
292
293/* No alpha blending */
294#define ALPHABLEND_NONE 0
295/* "Cheap" binary alpha blending - but possibly faster */
296#define ALPHABLEND_BINARY 1
297/* Full alpha blending */
298#define ALPHABLEND_FULL 2
299
301
303
304static inline
307{
308 if (error < 0)
309 return (HRESULT)error;
311}
312
313static inline
316{
318}
319
322 _In_ UINT nID,
323 _In_ LPCWSTR pszParam1,
324 _In_ LPCWSTR pszParam2,
325 _In_ LPCWSTR pszFile,
326 _In_ LPCWSTR pszLine,
327 _In_ INT nLineNo);
328
329#endif /* _UXTHEME_PCH_ */
Arabic default style
Definition: afstyles.h:94
HWND hWnd
Definition: settings.c:17
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
#define EXTERN_C
Definition: basetyps.h:12
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
struct @1672 Msg[]
WORD ATOM
Definition: dimm.idl:113
#define MAX_PATH
Definition: compat.h:34
#define CALLBACK
Definition: compat.h:35
#define pt(x, y)
Definition: drawing.c:79
_In_ uint64_t _In_ uint64_t _In_ uint64_t _In_opt_ traverse_ptr * tp
Definition: btrfs.c:2996
HINSTANCE hInst
Definition: dxdiag.c:13
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
const GLfloat * tc
Definition: glext.h:8925
GLboolean enable
Definition: glext.h:11120
HFONT tf
Definition: icontest.c:17
#define error(str)
Definition: mkdosfs.c:1605
void Bar(void)
Definition: terminate.cpp:70
HDC hdc
Definition: main.c:9
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:88
static HRGN hRgn
Definition: mapping.c:33
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
unsigned int UINT
Definition: ndis.h:50
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
_Out_ LPRECT prc
Definition: ntgdi.h:1658
long LONG
Definition: pedump.c:60
BOOL MSSTYLES_TryLoadPng(_In_ HINSTANCE hTheme, _In_ LPCWSTR szFile, _In_ LPCWSTR type, _Out_ HBITMAP *phBitmap)
Definition: pngsup.cpp:18
BOOL prepare_png_alpha(_In_ HBITMAP png, _Out_ BOOL *hasAlpha)
Definition: pngsup.cpp:60
WINDOWINFO wi
Definition: uxthemep.h:206
HTHEME hPrevTheme
Definition: uxthemep.h:205
HTHEME theme
Definition: uxthemep.h:203
HTHEME scrolltheme
Definition: uxthemep.h:204
HBITMAP hbmpOld
Definition: uxthemep.h:213
int CaptionHeight
Definition: uxthemep.h:209
Definition: misc.c:279
Definition: rtltypes.h:1241
HMODULE hTheme
Definition: uxthemep.h:60
struct _THEME_FILE * tf
Definition: uxthemep.h:61
struct _THEME_CLASS * overrides
Definition: uxthemep.h:65
WCHAR szAppName[MAX_THEME_APP_NAME]
Definition: uxthemep.h:62
PTHEME_PARTSTATE partstate
Definition: uxthemep.h:64
struct _THEME_CLASS * next
Definition: uxthemep.h:67
WCHAR szClassName[MAX_THEME_CLASS_NAME]
Definition: uxthemep.h:63
WCHAR szThemeFile[MAX_PATH]
Definition: uxthemep.h:81
PTHEME_PROPERTY metrics
Definition: uxthemep.h:89
LPWSTR pszAvailColors
Definition: uxthemep.h:82
HMODULE hTheme
Definition: uxthemep.h:80
DWORD dwRefCount
Definition: uxthemep.h:79
LPWSTR pszSelectedSize
Definition: uxthemep.h:86
PTHEME_CLASS classes
Definition: uxthemep.h:88
LPWSTR pszAvailSizes
Definition: uxthemep.h:83
LPWSTR pszSelectedColor
Definition: uxthemep.h:85
PTHEME_IMAGE images
Definition: uxthemep.h:90
struct _THEME_IMAGE * next
Definition: uxthemep.h:75
BOOL hasAlpha
Definition: uxthemep.h:73
HBITMAP image
Definition: uxthemep.h:72
struct _THEME_PARTSTATE * next
Definition: uxthemep.h:54
PTHEME_PROPERTY properties
Definition: uxthemep.h:52
PROPERTYORIGIN origin
Definition: uxthemep.h:41
int iPrimitiveType
Definition: uxthemep.h:39
DWORD dwValueLen
Definition: uxthemep.h:44
struct _THEME_PROPERTY * next
Definition: uxthemep.h:46
LPCWSTR lpValue
Definition: uxthemep.h:43
RTL_HANDLE_TABLE_ENTRY Handle
Definition: uxthemep.h:107
PTHEME_CLASS pClass
Definition: uxthemep.h:108
INT SCROLL_TrackingBar
Definition: uxthemep.h:193
BOOL DirtyThemeRegion
Definition: uxthemep.h:185
HTHEME hthemeWindow
Definition: uxthemep.h:177
BOOL UpdatingRgn
Definition: uxthemep.h:184
RECT rcCaptionButtons[4]
Definition: uxthemep.h:180
INT SCROLL_TrackingPos
Definition: uxthemep.h:194
enum SCROLL_HITTEST SCROLL_trackHitTest
Definition: uxthemep.h:190
HBRUSH hTabBackgroundBrush
Definition: uxthemep.h:186
INT SCROLL_TrackingVal
Definition: uxthemep.h:195
BOOL HasThemeRgn
Definition: uxthemep.h:183
BOOL SCROLL_trackVertical
Definition: uxthemep.h:189
UINT lastHitTest
Definition: uxthemep.h:181
HBITMAP hTabBackgroundBmp
Definition: uxthemep.h:187
HTHEME hthemeScrollbar
Definition: uxthemep.h:178
HWND SCROLL_TrackingWin
Definition: uxthemep.h:192
BOOL SCROLL_MovingThumb
Definition: uxthemep.h:191
BOOL HasAppDefinedRgn
Definition: uxthemep.h:182
Definition: name.c:39
WCHAR szFile[MAX_PATH]
Definition: uxthemep.h:98
UINT nID
Definition: uxthemep.h:95
WCHAR szParam1[MAX_PATH]
Definition: uxthemep.h:96
WCHAR szParam2[MAX_PATH]
Definition: uxthemep.h:97
WCHAR szLine[MAX_PATH]
Definition: uxthemep.h:99
SCROLL_HITTEST
int32_t INT
Definition: typedefs.h:58
PTHEME_PARTSTATE MSSTYLES_FindPartState(PTHEME_CLASS tc, int iPartId, int iStateId, PTHEME_CLASS *tcNext)
Definition: msstyles.c:452
struct _UXINI_FILE * PUXINI_FILE
Definition: uxthemep.h:103
HTHEME GetNCScrollbarTheme(HWND hWnd, DWORD style)
Definition: themehooks.c:118
void UXTHEME_LoadTheme(BOOL bLoad)
Definition: system.c:185
struct _THEME_PARTSTATE THEME_PARTSTATE
DWORD gdwErrorInfoTlsIndex
Definition: system.c:27
BOOL MSSTYLES_LookupEnum(LPCWSTR pszValueName, int dwEnum, int *dwValue)
Definition: stylemap.c:1126
PTHEME_PROPERTY MSSTYLES_FindProperty(PTHEME_CLASS tc, int iPartId, int iStateId, int iPropertyPrimitive, int iPropertyId)
Definition: msstyles.c:835
HINSTANCE hDllInst
Definition: system.c:47
struct _UXTHEME_HANDLE * PUXTHEME_HANDLE
void ThemeCleanupDrawContext(PDRAW_CONTEXT pcontext)
Definition: nonclient.c:182
HRESULT MSSTYLES_GetPropertyFont(PTHEME_PROPERTY tp, HDC hdc, LOGFONTW *pFont)
Definition: msstyles.c:1077
PUXINI_FILE MSSTYLES_GetThemeIni(PTHEME_FILE tf)
Definition: msstyles.c:236
BOOL CALLBACK UXTHEME_broadcast_theme_changed(HWND hWnd, LPARAM enable)
Definition: system.c:70
static HRESULT UXTHEME_MakeLastError(VOID)
Definition: uxthemep.h:315
HRESULT MSSTYLES_ReferenceTheme(PTHEME_FILE tf)
Definition: msstyles.c:224
struct _THEME_IMAGE THEME_IMAGE
HRESULT MSSTYLES_GetPropertyBool(PTHEME_PROPERTY tp, BOOL *pfVal)
Definition: msstyles.c:994
ATOM atWndContext
Definition: system.c:54
HRESULT MSSTYLES_GetPropertyString(PTHEME_PROPERTY tp, LPWSTR pszBuff, int cchMaxBuffChars)
Definition: msstyles.c:1151
LPCWSTR UXINI_GetNextSection(PUXINI_FILE uf, DWORD *dwLen)
Definition: uxini.c:173
static HRESULT UXTHEME_MakeError(_In_ LONG error)
Definition: uxthemep.h:306
HRESULT MSSTYLES_GetPropertyMargins(PTHEME_PROPERTY tp, RECT *prc, MARGINS *pMargins)
Definition: msstyles.c:1182
struct _THEME_CLASS * PTHEME_CLASS
HRESULT MSSTYLES_GetPropertyColor(PTHEME_PROPERTY tp, COLORREF *pColor)
Definition: msstyles.c:1007
HRESULT UXTHEME_MakeParseError(_In_ UINT nID, _In_ LPCWSTR pszParam1, _In_ LPCWSTR pszParam2, _In_ LPCWSTR pszFile, _In_ LPCWSTR pszLine, _In_ INT nLineNo)
Definition: errinfo.c:101
PUXINI_FILE UXINI_LoadINI(HMODULE hTheme, LPCWSTR lpName)
Definition: uxini.c:52
struct _THEME_PROPERTY THEME_PROPERTY
PTHEME_CLASS MSSTYLES_OpenThemeClass(PTHEME_FILE tf, LPCWSTR pszAppName, LPCWSTR pszClassList)
Definition: msstyles.c:756
LONG SCROLL_getObjectId(INT nBar)
Definition: ncscrollbar.c:38
void ThemeDrawScrollBar(PDRAW_CONTEXT pcontext, INT Bar, POINT *pt)
Definition: ncscrollbar.c:318
void MSSTYLES_CloseThemeFile(PTHEME_FILE tf)
Definition: msstyles.c:179
struct tagTMERRINFO TMERRINFO
struct _THEME_IMAGE * PTHEME_IMAGE
#define MAX_THEME_CLASS_NAME
Definition: uxthemep.h:35
HRESULT MSSTYLES_GetPropertyIntList(PTHEME_PROPERTY tp, INTLIST *pIntList)
Definition: msstyles.c:1108
struct _DRAW_CONTEXT DRAW_CONTEXT
HRESULT MSSTYLES_GetPropertyRect(PTHEME_PROPERTY tp, RECT *pRect)
Definition: msstyles.c:1162
struct _THEME_CLASS THEME_CLASS
HBITMAP MSSTYLES_LoadBitmap(PTHEME_CLASS tc, LPCWSTR lpFilename, BOOL *hasAlpha)
Definition: msstyles.c:896
struct _THEME_FILE THEME_FILE
void UXTHEME_InitSystem(HINSTANCE hInst)
Definition: system.c:568
BOOL UXINI_FindSection(PUXINI_FILE uf, LPCWSTR lpName)
Definition: uxini.c:200
struct tagTMERRINFO * PTMERRINFO
struct _UXTHEME_HANDLE UXTHEME_HANDLE
HRESULT MSSTYLES_GetPropertyPosition(PTHEME_PROPERTY tp, POINT *pPoint)
Definition: msstyles.c:1127
VOID UXTHEME_DeleteParseErrorInfo(VOID)
Definition: errinfo.c:34
HRESULT MSSTYLES_OpenThemeFile(LPCWSTR lpThemeFile, LPCWSTR pszColorName, LPCWSTR pszSizeName, PTHEME_FILE *tf)
Definition: msstyles.c:54
HRESULT MSSTYLES_CloseThemeClass(PTHEME_CLASS tc)
Definition: msstyles.c:822
void ThemeInitDrawContext(PDRAW_CONTEXT pcontext, HWND hWnd, HRGN hRgn)
Definition: nonclient.c:158
struct _WND_DATA WND_DATA
ATOM atWindowTheme
Definition: system.c:51
LRESULT CALLBACK ThemeWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, WNDPROC DefWndProc)
Definition: nonclient.c:1015
struct _THEME_PROPERTY * PTHEME_PROPERTY
THEME_BUTTON_STATES
Definition: uxthemep.h:229
@ BUTTON_NORMAL
Definition: uxthemep.h:230
@ BUTTON_DISABLED
Definition: uxthemep.h:233
@ BUTTON_HOT
Definition: uxthemep.h:231
@ BUTTON_INACTIVE_DISABLED
Definition: uxthemep.h:237
@ BUTTON_PRESSED
Definition: uxthemep.h:232
@ BUTTON_INACTIVE
Definition: uxthemep.h:234
@ BUTTON_INACTIVE_HOT
Definition: uxthemep.h:235
@ BUTTON_INACTIVE_PRESSED
Definition: uxthemep.h:236
LPCWSTR UXINI_GetNextValue(PUXINI_FILE uf, DWORD *dwNameLen, LPCWSTR *lpValue, DWORD *dwValueLen)
Definition: uxini.c:226
SCROLL_HITTEST
Definition: uxthemep.h:165
@ SCROLL_NOWHERE
Definition: uxthemep.h:166
@ SCROLL_THUMB
Definition: uxthemep.h:169
@ SCROLL_BOTTOM_RECT
Definition: uxthemep.h:170
@ SCROLL_TOP_RECT
Definition: uxthemep.h:168
@ SCROLL_TOP_ARROW
Definition: uxthemep.h:167
@ SCROLL_BOTTOM_ARROW
Definition: uxthemep.h:171
PTHEME_PROPERTY MSSTYLES_FindMetric(PTHEME_FILE tf, int iPropertyPrimitive, int iPropertyId)
Definition: msstyles.c:556
void ThemeCalculateCaptionButtonsPos(HWND hWnd, HTHEME htheme)
Definition: nonclient.c:270
struct _DRAW_CONTEXT * PDRAW_CONTEXT
void MSSTYLES_ParseThemeIni(PTHEME_FILE tf)
Definition: msstyles.c:644
PTHEME_CLASS ValidateHandle(HTHEME hTheme)
Definition: system.c:732
void UXTHEME_UnInitSystem(HINSTANCE hInst)
Definition: system.c:600
HRESULT MSSTYLES_GetPropertyInt(PTHEME_PROPERTY tp, int *piVal)
Definition: msstyles.c:1094
HRESULT UXTHEME_LoadImage(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, BOOL glyph, HBITMAP *hBmp, RECT *bmpRect, BOOL *hasImageAlpha)
Definition: draw.c:230
BOOL g_bThemeHooksActive
Definition: themehooks.c:15
BOOL UXINI_FindValue(PUXINI_FILE uf, LPCWSTR lpName, LPCWSTR *lpValue, DWORD *dwValueLen)
Definition: uxini.c:280
void UXINI_CloseINI(PUXINI_FILE uf)
Definition: uxini.c:83
HTHEME GetNCCaptionTheme(HWND hWnd, DWORD style)
Definition: themehooks.c:88
VOID NC_TrackScrollBar(HWND Wnd, WPARAM wParam, POINT Pt)
Definition: ncscrollbar.c:674
CAPTIONBUTTON
Definition: uxthemep.h:217
@ CLOSEBUTTON
Definition: uxthemep.h:218
@ MAXBUTTON
Definition: uxthemep.h:219
@ HELPBUTTON
Definition: uxthemep.h:221
@ MINBUTTON
Definition: uxthemep.h:220
void ThemeDrawScrollBarEx(PDRAW_CONTEXT pcontext, INT nBar, PSCROLLBARINFO psbi, POINT *pt)
Definition: ncscrollbar.c:276
#define MAX_THEME_APP_NAME
Definition: uxthemep.h:34
PWND_DATA ThemeGetWndData(HWND hWnd)
Definition: themehooks.c:17
struct _THEME_PARTSTATE * PTHEME_PARTSTATE
struct _THEME_FILE * PTHEME_FILE
BOOL MSSTYLES_LookupProperty(LPCWSTR pszPropertyName, int *dwPrimitive, int *dwId)
Definition: stylemap.c:1100
BOOL MSSTYLES_LookupPartState(LPCWSTR pszClass, LPCWSTR pszPart, LPCWSTR pszState, int *iPartId, int *iStateId)
Definition: stylemap.c:1038
struct _WND_DATA * PWND_DATA
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
_In_ LPCSTR lpName
Definition: winbase.h:2820
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
DWORD COLORREF
Definition: windef.h:300
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2917
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185