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

  1. #ifndef _PRSHT_H
  2. #define _PRSHT_H
  3. #if __GNUC__ >=3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #define MAXPROPPAGES    100
  12. #define PSP_DEFAULT    0
  13. #define PSP_DLGINDIRECT    1
  14. #define PSP_USEHICON    2
  15. #define PSP_USEICONID    4
  16. #define PSP_USETITLE    8
  17. #define PSP_RTLREADING    16
  18. #define PSP_HASHELP    32
  19. #define PSP_USEREFPARENT    64
  20. #define PSP_USECALLBACK    128
  21. #define PSP_PREMATURE    1024
  22. #if (_WIN32_IE >= 0x0400)
  23. #define PSP_HIDEHEADER    2048
  24. #define PSP_USEHEADERTITLE    4096
  25. #define PSP_USEHEADERSUBTITLE    8192
  26. #endif
  27. #define PSPCB_RELEASE    1
  28. #define PSPCB_CREATE    2
  29. #define PSH_DEFAULT    0
  30. #define PSH_PROPTITLE    1
  31. #define PSH_USEHICON    2
  32. #define PSH_USEICONID    4
  33. #define PSH_PROPSHEETPAGE    8
  34. #define PSH_WIZARDHASFINISH    16
  35. #define PSH_WIZARD    32
  36. #define PSH_USEPSTARTPAGE    64
  37. #define PSH_NOAPPLYNOW    128
  38. #define PSH_USECALLBACK    256
  39. #define PSH_HASHELP    512
  40. #define PSH_MODELESS    1024
  41. #define PSH_RTLREADING    2048
  42. #define PSH_WIZARDCONTEXTHELP    4096
  43. #if (_WIN32_IE >= 0x0400)
  44. #define PSH_WATERMARK    32768
  45. #define PSH_USEHBMWATERMARK    65536
  46. #define PSH_USEHPLWATERMARK    131072
  47. #define PSH_STRETCHWATERMARK    262144
  48. #define PSH_HEADER    524288
  49. #define PSH_USEHBMHEADER    1048576
  50. #define PSH_USEPAGELANG    2097152
  51. #if (_WIN32_IE < 0x0500)
  52. #define PSH_WIZARD97    0x00002000
  53. #else
  54. #define PSH_WIZARD97    0x01000000
  55. #endif
  56. #endif /* _WIN32_IE >= 0x0400 */
  57. #if (_WIN32_IE >= 0x0500)
  58. #define PSH_WIZARD_LITE    0x400000
  59. #define PSH_NOCONTEXTHELP    0x2000000
  60. #endif
  61. #define PSCB_INITIALIZED    1
  62. #define PSCB_PRECREATE    2
  63. #define PSM_GETTABCONTROL    1140
  64. #define PSM_GETCURRENTPAGEHWND    1142
  65. #define PSM_ISDIALOGMESSAGE    1141
  66. #define PSM_PRESSBUTTON    1137
  67. #define PSM_SETCURSELID    1138
  68. #define PSM_SETFINISHTEXTW    1145
  69. #define PSM_SETFINISHTEXTA    1139
  70. #define PSN_FIRST    (-200)
  71. #define PSN_LAST    (-299)
  72. #define PSN_APPLY    (-202)
  73. #define PSN_HELP    (-205)
  74. #define PSN_KILLACTIVE    (-201)
  75. #define PSN_QUERYCANCEL    (-209)
  76. #define PSN_RESET    (-203)
  77. #define PSN_SETACTIVE    (-200)
  78. #define PSN_WIZBACK    (-206)
  79. #define PSN_WIZFINISH    (-208)
  80. #define PSN_WIZNEXT    (-207)
  81. #define PSNRET_NOERROR    0
  82. #define PSNRET_INVALID    1
  83. #define PSNRET_INVALID_NOCHANGEPAGE    2
  84. #define ID_PSRESTARTWINDOWS    2
  85. #define ID_PSREBOOTSYSTEM     3
  86. #define WIZ_CXDLG    276
  87. #define WIZ_CYDLG    140
  88. #define WIZ_CXBMP    80
  89. #define WIZ_BODYX    92
  90. #define WIZ_BODYCX    184
  91. #define PROP_SM_CXDLG    212
  92. #define PROP_SM_CYDLG    188
  93. #define PROP_MED_CXDLG    227
  94. #define PROP_MED_CYDLG    215
  95. #define PROP_LG_CXDLG    252
  96. #define PROP_LG_CYDLG    218
  97. #define PSBTN_MAX    6
  98. #define PSBTN_BACK    0
  99. #define PSBTN_NEXT    1
  100. #define PSBTN_FINISH    2
  101. #define PSBTN_OK    3
  102. #define PSBTN_APPLYNOW    4
  103. #define PSBTN_CANCEL    5
  104. #define PSBTN_HELP    6
  105. #define PSWIZB_BACK    1
  106. #define PSWIZB_NEXT    2
  107. #define PSWIZB_FINISH    4
  108. #define PSWIZB_DISABLEDFINISH    8
  109. #define PSM_SETWIZBUTTONS    (WM_USER+112)
  110. #define PSM_APPLY    (WM_USER+110)
  111. #define PSM_UNCHANGED    (WM_USER+109)
  112. #define PSM_QUERYSIBLINGS    (WM_USER+108)
  113. #define PSM_CANCELTOCLOSE    (WM_USER+107)
  114. #define PSM_REBOOTSYSTEM    (WM_USER+106)
  115. #define PSM_RESTARTWINDOWS    (WM_USER+105)
  116. #define PSM_CHANGED    (WM_USER+104)
  117. #define PSM_ADDPAGE    (WM_USER+103)
  118. #define PSM_REMOVEPAGE    (WM_USER+102)
  119. #define PSM_SETCURSEL    (WM_USER+101)
  120. #define PSM_SETTITLEA    (WM_USER+111)
  121. #define PSM_SETTITLEW    (WM_USER+120)
  122.  
  123. #ifndef RC_INVOKED
  124.  
  125. #pragma pack(push,8)
  126. typedef struct _PROPSHEETPAGEA {
  127.     DWORD    dwSize;
  128.     DWORD    dwFlags;
  129.     HINSTANCE    hInstance;
  130.     _ANONYMOUS_UNION union {
  131.         LPCSTR    pszTemplate;
  132.         LPCDLGTEMPLATE    pResource;
  133.     } DUMMYUNIONNAME;
  134.     _ANONYMOUS_UNION union {
  135.         HICON hIcon;
  136.         LPCSTR pszIcon;
  137.     } DUMMYUNIONNAME2;
  138.     LPCSTR    pszTitle;
  139.     DLGPROC    pfnDlgProc;
  140.     LPARAM    lParam;
  141.     UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEA*);
  142.     UINT *pcRefParent;
  143. #if (_WIN32_IE >= 0x0400)
  144.     LPCSTR pszHeaderTitle;
  145.     LPCSTR pszHeaderSubTitle;
  146. #endif
  147. } PROPSHEETPAGEA,*LPPROPSHEETPAGEA;
  148. typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
  149. typedef struct _PROPSHEETPAGEW {
  150.     DWORD    dwSize;
  151.     DWORD    dwFlags;
  152.     HINSTANCE    hInstance;
  153.     _ANONYMOUS_UNION union {
  154.         LPCWSTR    pszTemplate;
  155.         LPCDLGTEMPLATE    pResource;
  156.     } DUMMYUNIONNAME;
  157.     _ANONYMOUS_UNION union {
  158.         HICON hIcon;
  159.         LPCWSTR pszIcon;
  160.     } DUMMYUNIONNAME2;
  161.     LPCWSTR    pszTitle;
  162.     DLGPROC    pfnDlgProc;
  163.     LPARAM    lParam;
  164.     UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEW*);
  165.     UINT *pcRefParent;
  166. #if (_WIN32_IE >= 0x0400)
  167.     LPCWSTR pszHeaderTitle;
  168.     LPCWSTR pszHeaderSubTitle;
  169. #endif
  170. } PROPSHEETPAGEW,*LPPROPSHEETPAGEW;
  171. typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW;
  172. typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA);
  173. typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW);
  174. typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
  175. DECLARE_HANDLE(HPROPSHEETPAGE);
  176. typedef struct _PROPSHEETHEADERA {
  177.     DWORD    dwSize;
  178.     DWORD    dwFlags;
  179.     HWND    hwndParent;
  180.     HINSTANCE    hInstance;
  181.     _ANONYMOUS_UNION union {
  182.         HICON    hIcon;
  183.         LPCSTR    pszIcon;
  184.     }DUMMYUNIONNAME;
  185.     LPCSTR    pszCaption;
  186.     UINT    nPages;
  187.     _ANONYMOUS_UNION union {
  188.         UINT    nStartPage;
  189.         LPCSTR    pStartPage;
  190.     }DUMMYUNIONNAME2;
  191.     _ANONYMOUS_UNION union {
  192.         LPCPROPSHEETPAGEA ppsp;
  193.         HPROPSHEETPAGE *phpage;
  194.     }DUMMYUNIONNAME3;
  195.     PFNPROPSHEETCALLBACK pfnCallback;
  196. #if (_WIN32_IE >= 0x0400)
  197.     _ANONYMOUS_UNION union {
  198.         HBITMAP hbmWatermark;
  199.         LPCSTR pszbmWatermark;
  200.     } DUMMYUNIONNAME4;
  201.     HPALETTE hplWatermark;
  202.     _ANONYMOUS_UNION union {
  203.         HBITMAP hbmHeader;
  204.         LPCSTR pszbmHeader;
  205.     } DUMMYUNIONNAME5;
  206. #endif
  207. } PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
  208. typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
  209. typedef struct _PROPSHEETHEADERW {
  210.     DWORD    dwSize;
  211.     DWORD    dwFlags;
  212.     HWND    hwndParent;
  213.     HINSTANCE    hInstance;
  214.     _ANONYMOUS_UNION union {
  215.         HICON    hIcon;
  216.         LPCWSTR    pszIcon;
  217.     }DUMMYUNIONNAME;
  218.     LPCWSTR    pszCaption;
  219.     UINT    nPages;
  220.     _ANONYMOUS_UNION union {
  221.         UINT    nStartPage;
  222.         LPCWSTR    pStartPage;
  223.     }DUMMYUNIONNAME2;
  224.     _ANONYMOUS_UNION union {
  225.         LPCPROPSHEETPAGEW ppsp;
  226.         HPROPSHEETPAGE *phpage;
  227.     }DUMMYUNIONNAME3;
  228.     PFNPROPSHEETCALLBACK pfnCallback;
  229. #if (_WIN32_IE >= 0x0400)
  230.     _ANONYMOUS_UNION union {
  231.         HBITMAP hbmWatermark;
  232.         LPCWSTR pszbmWatermark;
  233.     } DUMMYUNIONNAME4;
  234.     HPALETTE hplWatermark;
  235.     _ANONYMOUS_UNION union {
  236.         HBITMAP hbmHeader;
  237.         LPCWSTR pszbmHeader;
  238.     } DUMMYUNIONNAME5;
  239. #endif
  240. } PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
  241. typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
  242. typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
  243. typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
  244. typedef struct _PSHNOTIFY {
  245.     NMHDR hdr;
  246.     LPARAM lParam;
  247. } PSHNOTIFY,*LPPSHNOTIFY;
  248.  
  249. #pragma pack(pop)
  250.  
  251. HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA);
  252. HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW);
  253. BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
  254. int WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
  255. int WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
  256. #define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p)
  257. #define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0)
  258. #define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0)
  259. #define PropSheet_Changed(d,w) SendMessage(d,PSM_CHANGED,(WPARAM)w,0)
  260. #define PropSheet_GetCurrentPageHwnd(d) (HWND)SendMessage(d,PSM_GETCURRENTPAGEHWND,0,0)
  261. #define PropSheet_GetTabControl(d) (HWND)SendMessage(d,PSM_GETTABCONTROL,0,0)
  262. #define PropSheet_IsDialogMessage(d,m) (BOOL)SendMessage(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m)
  263. #define PropSheet_PressButton(d,i) SendMessage(d,PSM_PRESSBUTTON,i,0)
  264. #define PropSheet_QuerySiblings(d,w,l) SendMessage(d,PSM_QUERYSIBLINGS,w,l)
  265. #define PropSheet_RebootSystem(d) SendMessage(d,PSM_REBOOTSYSTEM,0,0)
  266. #define PropSheet_RemovePage(d,i,p) SendMessage(d,PSM_REMOVEPAGE,i,(LPARAM)p)
  267. #define PropSheet_RestartWindows(d) SendMessage(d,PSM_RESTARTWINDOWS,0,0)
  268. #define PropSheet_SetCurSel(d,p,i) SendMessage(d,PSM_SETCURSEL,i,(LPARAM)p)
  269. #define PropSheet_SetCurSelByID(d,i) SendMessage(d,PSM_SETCURSELID,0,i)
  270. #define PropSheet_SetFinishText(d,s) SendMessage(d,PSM_SETFINISHTEXT,0,(LPARAM)s)
  271. #define PropSheet_SetTitle(d,w,s) SendMessage(d,PSM_SETTITLE,w,(LPARAM)s)
  272. #define PropSheet_SetWizButtons(d,f) PostMessage(d,PSM_SETWIZBUTTONS,0,(LPARAM)f)
  273. #define PropSheet_UnChanged(d,w) SendMessage(d,PSM_UNCHANGED,(WPARAM)w,0)
  274. #endif
  275.  
  276. #ifdef UNICODE
  277. #define LPFNPSPCALLBACK    LPFNPSPCALLBACKW
  278. #define PROPSHEETPAGE    PROPSHEETPAGEW
  279. #define LPPROPSHEETPAGE    LPPROPSHEETPAGEW
  280. #define LPCPROPSHEETPAGE    LPCPROPSHEETPAGEW
  281. #define PROPSHEETHEADER    PROPSHEETHEADERW
  282. #define LPPROPSHEETHEADER    LPPROPSHEETHEADERW
  283. #define LPCPROPSHEETHEADER    LPCPROPSHEETHEADERW
  284. #define PSM_SETTITLE PSM_SETTITLEW
  285. #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW
  286. #define CreatePropertySheetPage CreatePropertySheetPageW
  287. #define PropertySheet PropertySheetW
  288. #else
  289. #define LPFNPSPCALLBACK    LPFNPSPCALLBACKA
  290. #define PROPSHEETPAGE    PROPSHEETPAGEA
  291. #define LPPROPSHEETPAGE    LPPROPSHEETPAGEA
  292. #define LPCPROPSHEETPAGE    LPCPROPSHEETPAGEA
  293. #define PROPSHEETHEADER    PROPSHEETHEADERA
  294. #define LPPROPSHEETHEADER    LPPROPSHEETHEADERA
  295. #define LPCPROPSHEETHEADER    LPCPROPSHEETHEADERA
  296. #define PSM_SETTITLE PSM_SETTITLEA
  297. #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA
  298. #define CreatePropertySheetPage CreatePropertySheetPageA
  299. #define PropertySheet PropertySheetA
  300. #endif
  301. #ifdef __cplusplus
  302. }
  303. #endif
  304. #endif
  305.