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