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