home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / custcntl.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  3KB  |  103 lines

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