xref: /reactos/sdk/include/psdk/custcntl.h (revision c2c66aff)
1 #ifndef _CUSTCNTL_H
2 #define _CUSTCNTL_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #define CCF_NOTEXT 1
9 #define CCHCCCLASS 32
10 #define CCHCCDESC 32
11 #define CCHCCTEXT 256
12 
13 typedef struct tagCCSTYLEA {
14 	DWORD flStyle;
15 	DWORD flExtStyle;
16 	CHAR szText[CCHCCTEXT];
17 	LANGID lgid;
18 	WORD wReserved1;
19 } CCSTYLEA,*LPCCSTYLEA;
20 typedef struct tagCCSTYLEW {
21 	DWORD flStyle;
22 	DWORD flExtStyle;
23 	WCHAR szText[CCHCCTEXT];
24 	LANGID lgid;
25 	WORD wReserved1;
26 } CCSTYLEW,*LPCCSTYLEW;
27 typedef struct tagCCSTYLEFLAGA {
28 	DWORD flStyle;
29 	DWORD flStyleMask;
30 	LPSTR pszStyle;
31 } CCSTYLEFLAGA,*LPCCSTYLEFLAGA;
32 typedef struct tagCCSTYLEFLAGW {
33 	DWORD flStyle;
34 	DWORD flStyleMask;
35 	LPWSTR pszStyle;
36 } CCSTYLEFLAGW,*LPCCSTYLEFLAGW;
37 typedef BOOL(CALLBACK* LPFNCCSTYLEA)(HWND,LPCCSTYLEA);
38 typedef INT(CALLBACK* LPFNCCSIZETOTEXTA)(DWORD,DWORD,HFONT,LPSTR);
39 typedef struct tagCCINFOA {
40 	CHAR szClass[CCHCCCLASS];
41 	DWORD flOptions;
42 	CHAR szDesc[CCHCCDESC];
43 	UINT cxDefault;
44 	UINT cyDefault;
45 	DWORD flStyleDefault;
46 	DWORD flExtStyleDefault;
47 	DWORD flCtrlTypeMask;
48 	CHAR szTextDefault[CCHCCTEXT];
49 	INT cStyleFlags;
50 	LPCCSTYLEFLAGA aStyleFlags;
51 	LPFNCCSTYLEA lpfnStyle;
52 	LPFNCCSIZETOTEXTA lpfnSizeToText;
53 	DWORD dwReserved1;
54 	DWORD dwReserved2;
55 } CCINFOA,*LPCCINFOA;
56 typedef UINT(CALLBACK* LPFNCCINFOA)(LPCCINFOA);
57 typedef BOOL(CALLBACK* LPFNCCSTYLEW)(HWND,LPCCSTYLEW);
58 typedef INT (CALLBACK* LPFNCCSIZETOTEXTW)(DWORD,DWORD,HFONT,LPWSTR);
59 typedef struct tagCCINFOW {
60 	WCHAR szClass[CCHCCCLASS];
61 	DWORD flOptions;
62 	WCHAR szDesc[CCHCCDESC];
63 	UINT cxDefault;
64 	UINT cyDefault;
65 	DWORD flStyleDefault;
66 	DWORD flExtStyleDefault;
67 	DWORD flCtrlTypeMask;
68 	WCHAR szTextDefault[CCHCCTEXT];
69 	INT cStyleFlags;
70 	LPCCSTYLEFLAGW aStyleFlags;
71 	LPFNCCSTYLEW lpfnStyle;
72 	LPFNCCSIZETOTEXTW lpfnSizeToText;
73 	DWORD dwReserved1;
74 	DWORD dwReserved2;
75 } CCINFOW,*LPCCINFOW;
76 typedef UINT(CALLBACK* LPFNCCINFOW)(LPCCINFOW);
77 
78 UINT CALLBACK CustomControlInfoA(LPCCINFOA acci);
79 UINT CALLBACK CustomControlInfoW(LPCCINFOW acci);
80 
81 #ifdef UNICODE
82 typedef CCSTYLEW CCSTYLE,*LPCCSTYLE;
83 typedef CCSTYLEFLAGW CCSTYLEFLAG,*LPCCSTYLEFLAG;
84 typedef CCINFOW CCINFO,*LPCCINFO;
85 #define LPFNCCSTYLE LPFNCCSTYLEW
86 #define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTW
87 #define LPFNCCINFO LPFNCCINFOW
88 #else
89 typedef CCSTYLEA CCSTYLE,*LPCCSTYLE;
90 typedef CCSTYLEFLAGA CCSTYLEFLAG,*LPCCSTYLEFLAG;
91 typedef CCINFOA CCINFO,*LPCCINFO;
92 #define LPFNCCSTYLE LPFNCCSTYLEA
93 #define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTA
94 #define LPFNCCINFO LPFNCCINFOA
95 #endif
96 #ifdef __cplusplus
97 }
98 #endif
99 #endif
100