While dragging, catch keyboard messages between WM_KEYFIRST and
[wine.git] / include / class.h
blobca6bb48a4238048965bc3fc013753678319653a7
1 /*
2 * Window classes definitions
4 * Copyright 1993 Alexandre Julliard
5 */
7 #ifndef __WINE_CLASS_H
8 #define __WINE_CLASS_H
10 #include "windef.h"
11 #include "winproc.h"
13 #define CLASS_MAGIC ('C' | ('L' << 8) | ('A' << 16) | ('S' << 24))
15 struct tagDCE;
17 typedef struct tagCLASS
19 struct tagCLASS *next; /* Next class */
20 UINT magic; /* Magic number */
21 UINT cWindows; /* Count of existing windows */
22 UINT style; /* Class style */
23 HWINDOWPROC winproc; /* Window procedure */
24 INT cbClsExtra; /* Class extra bytes */
25 INT cbWndExtra; /* Window extra bytes */
26 LPSTR menuNameA; /* Default menu name (ASCII string) */
27 LPWSTR menuNameW; /* Default menu name (Unicode) */
28 struct tagDCE *dce; /* Class DCE (if CS_CLASSDC) */
29 HINSTANCE hInstance; /* Module that created the task */
30 HICON16 hIcon; /* Default icon */
31 HICON16 hIconSm; /* Default small icon */
32 HCURSOR16 hCursor; /* Default cursor */
33 HBRUSH16 hbrBackground; /* Default background */
34 ATOM atomName; /* Name of the class */
35 LPSTR classNameA; /* Class name (ASCII string) */
36 LPWSTR classNameW; /* Class name (Unicode) */
37 LONG wExtra[1]; /* Class extra bytes */
38 } CLASS;
40 extern void CLASS_DumpClass( CLASS *class );
41 extern void CLASS_WalkClasses(void);
42 extern void CLASS_FreeModuleClasses( HMODULE16 hModule );
43 extern CLASS *CLASS_FindClassByAtom( ATOM atom, HINSTANCE hinstance );
45 #endif /* __WINE_CLASS_H */