1 /**
2 * Windows API header module
3 *
4 * Translated from MinGW Windows headers
5 *
6 * Authors: Stewart Gordon
7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8 * Source: $(DRUNTIMESRC src/core/sys/windows/_custcntl.d)
9 */
10 module core.sys.windows.custcntl;
version(Windows)11 version (Windows):
12 @system:
13
14 version (ANSI) {} else version = Unicode;
15
16 import core.sys.windows.windef;
17
18 // FIXME: check type
19 enum CCF_NOTEXT = 1;
20
21 enum size_t
22 CCHCCCLASS = 32,
23 CCHCCDESC = 32,
24 CCHCCTEXT = 256;
25
26 struct CCSTYLEA {
27 DWORD flStyle;
28 DWORD flExtStyle;
29 CHAR[CCHCCTEXT] szText = 0;
30 LANGID lgid;
31 WORD wReserved1;
32 }
33 alias CCSTYLEA* LPCCSTYLEA;
34
35 struct CCSTYLEW {
36 DWORD flStyle;
37 DWORD flExtStyle;
38 WCHAR[CCHCCTEXT] szText = 0;
39 LANGID lgid;
40 WORD wReserved1;
41 }
42 alias CCSTYLEW* LPCCSTYLEW;
43
44 struct CCSTYLEFLAGA {
45 DWORD flStyle;
46 DWORD flStyleMask;
47 LPSTR pszStyle;
48 }
49 alias CCSTYLEFLAGA* LPCCSTYLEFLAGA;
50
51 struct CCSTYLEFLAGW {
52 DWORD flStyle;
53 DWORD flStyleMask;
54 LPWSTR pszStyle;
55 }
56 alias CCSTYLEFLAGW* LPCCSTYLEFLAGW;
57
58 struct CCINFOA {
59 CHAR[CCHCCCLASS] szClass = 0;
60 DWORD flOptions;
61 CHAR[CCHCCDESC] szDesc = 0;
62 UINT cxDefault;
63 UINT cyDefault;
64 DWORD flStyleDefault;
65 DWORD flExtStyleDefault;
66 DWORD flCtrlTypeMask;
67 CHAR[CCHCCTEXT] szTextDefault = 0;
68 INT cStyleFlags;
69 LPCCSTYLEFLAGA aStyleFlags;
70 LPFNCCSTYLEA lpfnStyle;
71 LPFNCCSIZETOTEXTA lpfnSizeToText;
72 DWORD dwReserved1;
73 DWORD dwReserved2;
74 }
75 alias CCINFOA* LPCCINFOA;
76
77 struct CCINFOW {
78 WCHAR[CCHCCCLASS] szClass = 0;
79 DWORD flOptions;
80 WCHAR[CCHCCDESC] szDesc = 0;
81 UINT cxDefault;
82 UINT cyDefault;
83 DWORD flStyleDefault;
84 DWORD flExtStyleDefault;
85 DWORD flCtrlTypeMask;
86 WCHAR[CCHCCTEXT] szTextDefault = 0;
87 INT cStyleFlags;
88 LPCCSTYLEFLAGW aStyleFlags;
89 LPFNCCSTYLEW lpfnStyle;
90 LPFNCCSIZETOTEXTW lpfnSizeToText;
91 DWORD dwReserved1;
92 DWORD dwReserved2;
93 }
94 alias CCINFOW* LPCCINFOW;
95
96 extern (Windows) {
97 alias BOOL function(HWND, LPCCSTYLEA) LPFNCCSTYLEA;
98 alias BOOL function(HWND, LPCCSTYLEW) LPFNCCSTYLEW;
99 alias INT function(DWORD, DWORD, HFONT, LPSTR) LPFNCCSIZETOTEXTA;
100 alias INT function(DWORD, DWORD, HFONT, LPWSTR) LPFNCCSIZETOTEXTW;
101 alias UINT function(LPCCINFOA) LPFNCCINFOA;
102 alias UINT function(LPCCINFOW) LPFNCCINFOW;
103 UINT CustomControlInfoA(LPCCINFOA acci);
104 UINT CustomControlInfoW(LPCCINFOW acci);
105 }
106
version(Unicode)107 version (Unicode) {
108 alias CCSTYLEW CCSTYLE;
109 alias CCSTYLEFLAGW CCSTYLEFLAG;
110 alias CCINFOW CCINFO;
111 alias LPFNCCSTYLEW LPFNCCSTYLE;
112 alias LPFNCCSIZETOTEXTW LPFNCCSIZETOTEXT;
113 alias LPFNCCINFOW LPFNCCINFO;
114 } else {
115 alias CCSTYLEA CCSTYLE;
116 alias CCSTYLEFLAGA CCSTYLEFLAG;
117 alias CCINFOA CCINFO;
118 alias LPFNCCSTYLEA LPFNCCSTYLE;
119 alias LPFNCCSIZETOTEXTA LPFNCCSIZETOTEXT;
120 alias LPFNCCINFOA LPFNCCINFO;
121 }
122
123 alias CCSTYLE* LPCCSTYLE;
124 alias CCSTYLEFLAG* LPCCSTYLEFLAG;
125 alias CCINFO* LPCCINFO;
126