prsht.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _PRSHT_H_
  7. #define _PRSHT_H_
  8. #include <_mingw_unicode.h>
  9. #ifndef _WINRESRC_
  10. #ifndef _WIN32_IE
  11. #define _WIN32_IE 0x0501
  12. #endif
  13. #endif
  14. #ifndef WINCOMMCTRLAPI
  15. #ifndef _COMCTL32_
  16. #define WINCOMMCTRLAPI DECLSPEC_IMPORT
  17. #else
  18. #define WINCOMMCTRLAPI
  19. #endif
  20. #endif
  21. #ifndef CCSIZEOF_STRUCT
  22. #define CCSIZEOF_STRUCT(structname,member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member))
  23. #endif
  24. #ifdef _WIN64
  25. #include <pshpack8.h>
  26. #else
  27. #include <pshpack4.h>
  28. #endif
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32. #ifndef SNDMSG
  33. #ifdef __cplusplus
  34. #define SNDMSG ::SendMessage
  35. #else
  36. #define SNDMSG SendMessage
  37. #endif
  38. #endif
  39. #define MAXPROPPAGES 100
  40. struct _PSP;
  41. struct _PROPSHEETPAGEA;
  42. struct _PROPSHEETPAGEW;
  43. typedef struct _PSP *HPROPSHEETPAGE;
  44. typedef UINT (CALLBACK *LPFNPSPCALLBACKA)(HWND hwnd,UINT uMsg,struct _PROPSHEETPAGEA *ppsp);
  45. typedef UINT (CALLBACK *LPFNPSPCALLBACKW)(HWND hwnd,UINT uMsg,struct _PROPSHEETPAGEW *ppsp);
  46. #define LPFNPSPCALLBACK __MINGW_NAME_AW(LPFNPSPCALLBACK)
  47. #define PSP_DEFAULT 0x00000000
  48. #define PSP_DLGINDIRECT 0x00000001
  49. #define PSP_USEHICON 0x00000002
  50. #define PSP_USEICONID 0x00000004
  51. #define PSP_USETITLE 0x00000008
  52. #define PSP_RTLREADING 0x00000010
  53. #define PSP_HASHELP 0x00000020
  54. #define PSP_USEREFPARENT 0x00000040
  55. #define PSP_USECALLBACK 0x00000080
  56. #define PSP_PREMATURE 0x00000400
  57. #define PSP_HIDEHEADER 0x00000800
  58. #define PSP_USEHEADERTITLE 0x00001000
  59. #define PSP_USEHEADERSUBTITLE 0x00002000
  60. #define PSP_USEFUSIONCONTEXT 0x00004000
  61. #define PSPCB_ADDREF 0
  62. #define PSPCB_RELEASE 1
  63. #define PSPCB_CREATE 2
  64. #define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA,pcRefParent)
  65. #define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW,pcRefParent)
  66. #define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA,pszHeaderSubTitle)
  67. #define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW,pszHeaderSubTitle)
  68. typedef LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE;
  69. #define PROPSHEETPAGEA_V1_FIELDS \
  70. DWORD dwSize,dwFlags; \
  71. HINSTANCE hInstance; \
  72. __C89_NAMELESS union { \
  73. LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; \
  74. } DUMMYUNIONNAME; \
  75. __C89_NAMELESS union { \
  76. HICON hIcon; LPCSTR pszIcon; \
  77. } DUMMYUNIONNAME2; \
  78. LPCSTR pszTitle; \
  79. DLGPROC pfnDlgProc; \
  80. LPARAM lParam; \
  81. LPFNPSPCALLBACKA pfnCallback; \
  82. UINT *pcRefParent;
  83. #define PROPSHEETPAGEW_V1_FIELDS \
  84. DWORD dwSize, dwFlags; \
  85. HINSTANCE hInstance; \
  86. __C89_NAMELESS union { \
  87. LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; \
  88. } DUMMYUNIONNAME; \
  89. __C89_NAMELESS union { \
  90. HICON hIcon; LPCWSTR pszIcon; \
  91. } DUMMYUNIONNAME2; \
  92. LPCWSTR pszTitle; \
  93. DLGPROC pfnDlgProc; \
  94. LPARAM lParam; \
  95. LPFNPSPCALLBACKW pfnCallback; \
  96. UINT *pcRefParent;
  97. #define _PROPSHEETPAGEA_V3 _PROPSHEETPAGEA
  98. #define _PROPSHEETPAGEW_V3 _PROPSHEETPAGEW
  99. typedef struct _PROPSHEETPAGEA_V1 {
  100. PROPSHEETPAGEA_V1_FIELDS
  101. } PROPSHEETPAGEA_V1,*LPPROPSHEETPAGEA_V1;
  102. typedef const PROPSHEETPAGEA_V1 *LPCPROPSHEETPAGEA_V1;
  103. typedef struct _PROPSHEETPAGEA_V2 {
  104. PROPSHEETPAGEA_V1_FIELDS
  105. LPCSTR pszHeaderTitle;
  106. LPCSTR pszHeaderSubTitle;
  107. } PROPSHEETPAGEA_V2,*LPPROPSHEETPAGEA_V2;
  108. typedef const PROPSHEETPAGEA_V2 *LPCPROPSHEETPAGEA_V2;
  109. typedef struct _PROPSHEETPAGEA_V3 {
  110. PROPSHEETPAGEA_V1_FIELDS
  111. LPCSTR pszHeaderTitle;
  112. LPCSTR pszHeaderSubTitle;
  113. HANDLE hActCtx;
  114. } PROPSHEETPAGEA_V3,*LPPROPSHEETPAGEA_V3;
  115. typedef const PROPSHEETPAGEA_V3 *LPCPROPSHEETPAGEA_V3;
  116. typedef struct _PROPSHEETPAGEW_V1 {
  117. PROPSHEETPAGEW_V1_FIELDS
  118. } PROPSHEETPAGEW_V1,*LPPROPSHEETPAGEW_V1;
  119. typedef const PROPSHEETPAGEW_V1 *LPCPROPSHEETPAGEW_V1;
  120. typedef struct _PROPSHEETPAGEW_V2 {
  121. PROPSHEETPAGEW_V1_FIELDS
  122. LPCWSTR pszHeaderTitle;
  123. LPCWSTR pszHeaderSubTitle;
  124. } PROPSHEETPAGEW_V2,*LPPROPSHEETPAGEW_V2;
  125. typedef const PROPSHEETPAGEW_V2 *LPCPROPSHEETPAGEW_V2;
  126. typedef struct _PROPSHEETPAGEW_V3 {
  127. PROPSHEETPAGEW_V1_FIELDS
  128. LPCWSTR pszHeaderTitle;
  129. LPCWSTR pszHeaderSubTitle;
  130. HANDLE hActCtx;
  131. } PROPSHEETPAGEW_V3,*LPPROPSHEETPAGEW_V3;
  132. typedef const PROPSHEETPAGEW_V3 *LPCPROPSHEETPAGEW_V3;
  133. typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST;
  134. typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST;
  135. typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST;
  136. typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST;
  137. typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST;
  138. typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST;
  139. typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA;
  140. typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW;
  141. typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA;
  142. typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW;
  143. typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA;
  144. typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW;
  145. #define PROPSHEETPAGE __MINGW_NAME_AW(PROPSHEETPAGE)
  146. #define LPPROPSHEETPAGE __MINGW_NAME_AW(LPPROPSHEETPAGE)
  147. #define LPCPROPSHEETPAGE __MINGW_NAME_AW(LPCPROPSHEETPAGE)
  148. #define PROPSHEETPAGE_V1_SIZE __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V1_SIZE)
  149. #define PROPSHEETPAGE_V2_SIZE __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V2_SIZE)
  150. #define PROPSHEETPAGE_V1 __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V1)
  151. #define LPPROPSHEETPAGE_V1 __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_V1)
  152. #define LPCPROPSHEETPAGE_V1 __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_V1)
  153. #define PROPSHEETPAGE_V2 __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V2)
  154. #define LPPROPSHEETPAGE_V2 __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_V2)
  155. #define LPCPROPSHEETPAGE_V2 __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_V2)
  156. #define PROPSHEETPAGE_V3 __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_V3)
  157. #define LPPROPSHEETPAGE_V3 __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_V3)
  158. #define LPCPROPSHEETPAGE_V3 __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_V3)
  159. #define PROPSHEETPAGE_LATEST __MINGW_NAME_AW_EXT(PROPSHEETPAGE,_LATEST)
  160. #define LPPROPSHEETPAGE_LATEST __MINGW_NAME_AW_EXT(LPPROPSHEETPAGE,_LATEST)
  161. #define LPCPROPSHEETPAGE_LATEST __MINGW_NAME_AW_EXT(LPCPROPSHEETPAGE,_LATEST)
  162. #define PSH_DEFAULT 0x00000000
  163. #define PSH_PROPTITLE 0x00000001
  164. #define PSH_USEHICON 0x00000002
  165. #define PSH_USEICONID 0x00000004
  166. #define PSH_PROPSHEETPAGE 0x00000008
  167. #define PSH_WIZARDHASFINISH 0x00000010
  168. #define PSH_WIZARD 0x00000020
  169. #define PSH_USEPSTARTPAGE 0x00000040
  170. #define PSH_NOAPPLYNOW 0x00000080
  171. #define PSH_USECALLBACK 0x00000100
  172. #define PSH_HASHELP 0x00000200
  173. #define PSH_MODELESS 0x00000400
  174. #define PSH_RTLREADING 0x00000800
  175. #define PSH_WIZARDCONTEXTHELP 0x00001000
  176. #define PSH_WIZARD97 0x01000000
  177. #define PSH_WATERMARK 0x00008000
  178. #define PSH_USEHBMWATERMARK 0x00010000
  179. #define PSH_USEHPLWATERMARK 0x00020000
  180. #define PSH_STRETCHWATERMARK 0x00040000
  181. #define PSH_HEADER 0x00080000
  182. #define PSH_USEHBMHEADER 0x00100000
  183. #define PSH_USEPAGELANG 0x00200000
  184. #define PSH_WIZARD_LITE 0x00400000
  185. #define PSH_NOCONTEXTHELP 0x02000000
  186. typedef int (CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
  187. #define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA,pfnCallback)
  188. #define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW,pfnCallback)
  189. #define PROPSHEETHEADERA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA,DUMMYUNION5_MEMBER(hbmHeader))
  190. #define PROPSHEETHEADERW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW,DUMMYUNION5_MEMBER(hbmHeader))
  191. typedef struct _PROPSHEETHEADERA {
  192. DWORD dwSize;
  193. DWORD dwFlags;
  194. HWND hwndParent;
  195. HINSTANCE hInstance;
  196. __C89_NAMELESS union {
  197. HICON hIcon;
  198. LPCSTR pszIcon;
  199. } DUMMYUNIONNAME;
  200. LPCSTR pszCaption;
  201. UINT nPages;
  202. __C89_NAMELESS union {
  203. UINT nStartPage;
  204. LPCSTR pStartPage;
  205. } DUMMYUNIONNAME2;
  206. __C89_NAMELESS union {
  207. LPCPROPSHEETPAGEA ppsp;
  208. HPROPSHEETPAGE *phpage;
  209. } DUMMYUNIONNAME3;
  210. PFNPROPSHEETCALLBACK pfnCallback;
  211. __C89_NAMELESS union {
  212. HBITMAP hbmWatermark;
  213. LPCSTR pszbmWatermark;
  214. } DUMMYUNIONNAME4;
  215. HPALETTE hplWatermark;
  216. __C89_NAMELESS union {
  217. HBITMAP hbmHeader;
  218. LPCSTR pszbmHeader;
  219. } DUMMYUNIONNAME5;
  220. } PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
  221. typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
  222. typedef struct _PROPSHEETHEADERW {
  223. DWORD dwSize;
  224. DWORD dwFlags;
  225. HWND hwndParent;
  226. HINSTANCE hInstance;
  227. __C89_NAMELESS union {
  228. HICON hIcon;
  229. LPCWSTR pszIcon;
  230. } DUMMYUNIONNAME;
  231. LPCWSTR pszCaption;
  232. UINT nPages;
  233. __C89_NAMELESS union {
  234. UINT nStartPage;
  235. LPCWSTR pStartPage;
  236. } DUMMYUNIONNAME2;
  237. __C89_NAMELESS union {
  238. LPCPROPSHEETPAGEW ppsp;
  239. HPROPSHEETPAGE *phpage;
  240. } DUMMYUNIONNAME3;
  241. PFNPROPSHEETCALLBACK pfnCallback;
  242. __C89_NAMELESS union {
  243. HBITMAP hbmWatermark;
  244. LPCWSTR pszbmWatermark;
  245. } DUMMYUNIONNAME4;
  246. HPALETTE hplWatermark;
  247. __C89_NAMELESS union {
  248. HBITMAP hbmHeader;
  249. LPCWSTR pszbmHeader;
  250. } DUMMYUNIONNAME5;
  251. } PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
  252. typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
  253. #define PROPSHEETHEADER __MINGW_NAME_AW(PROPSHEETHEADER)
  254. #define LPPROPSHEETHEADER __MINGW_NAME_AW(LPPROPSHEETHEADER)
  255. #define LPCPROPSHEETHEADER __MINGW_NAME_AW(LPCPROPSHEETHEADER)
  256. #define PROPSHEETHEADER_V1_SIZE __MINGW_NAME_AW_EXT(PROPSHEETHEADER,_V1_SIZE)
  257. #define PROPSHEETHEADER_V2_SIZE __MINGW_NAME_AW_EXT(PROPSHEETHEADER,_V2_SIZE)
  258. #define PSCB_INITIALIZED 1
  259. #define PSCB_PRECREATE 2
  260. #define PSCB_BUTTONPRESSED 3
  261. WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer);
  262. WINCOMMCTRLAPI HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer);
  263. WINCOMMCTRLAPI WINBOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
  264. WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
  265. WINCOMMCTRLAPI INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
  266. #define CreatePropertySheetPage __MINGW_NAME_AW(CreatePropertySheetPage)
  267. #define PropertySheet __MINGW_NAME_AW(PropertySheet)
  268. typedef WINBOOL (CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
  269. typedef WINBOOL (CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
  270. typedef struct _PSHNOTIFY {
  271. NMHDR hdr;
  272. LPARAM lParam;
  273. } PSHNOTIFY,*LPPSHNOTIFY;
  274. #define PSN_FIRST (0U-200U)
  275. #define PSN_LAST (0U-299U)
  276. #define PSN_SETACTIVE (PSN_FIRST-0)
  277. #define PSN_KILLACTIVE (PSN_FIRST-1)
  278. #define PSN_APPLY (PSN_FIRST-2)
  279. #define PSN_RESET (PSN_FIRST-3)
  280. #define PSN_HELP (PSN_FIRST-5)
  281. #define PSN_WIZBACK (PSN_FIRST-6)
  282. #define PSN_WIZNEXT (PSN_FIRST-7)
  283. #define PSN_WIZFINISH (PSN_FIRST-8)
  284. #define PSN_QUERYCANCEL (PSN_FIRST-9)
  285. #define PSN_GETOBJECT (PSN_FIRST-10)
  286. #define PSN_TRANSLATEACCELERATOR (PSN_FIRST-12)
  287. #define PSN_QUERYINITIALFOCUS (PSN_FIRST-13)
  288. #define PSNRET_NOERROR 0
  289. #define PSNRET_INVALID 1
  290. #define PSNRET_INVALID_NOCHANGEPAGE 2
  291. #define PSNRET_MESSAGEHANDLED 3
  292. #define PSM_SETCURSEL (WM_USER + 101)
  293. #define PropSheet_SetCurSel(hDlg,hpage,index) SNDMSG(hDlg,PSM_SETCURSEL,(WPARAM)index,(LPARAM)hpage)
  294. #define PSM_REMOVEPAGE (WM_USER + 102)
  295. #define PropSheet_RemovePage(hDlg,index,hpage) SNDMSG(hDlg,PSM_REMOVEPAGE,index,(LPARAM)hpage)
  296. #define PSM_ADDPAGE (WM_USER + 103)
  297. #define PropSheet_AddPage(hDlg,hpage) SNDMSG(hDlg,PSM_ADDPAGE,0,(LPARAM)hpage)
  298. #define PSM_CHANGED (WM_USER + 104)
  299. #define PropSheet_Changed(hDlg,hwnd) SNDMSG(hDlg,PSM_CHANGED,(WPARAM)hwnd,(LPARAM)0)
  300. #define PSM_RESTARTWINDOWS (WM_USER + 105)
  301. #define PropSheet_RestartWindows(hDlg) SNDMSG(hDlg,PSM_RESTARTWINDOWS,(WPARAM)0,(LPARAM)0)
  302. #define PSM_REBOOTSYSTEM (WM_USER + 106)
  303. #define PropSheet_RebootSystem(hDlg) SNDMSG(hDlg,PSM_REBOOTSYSTEM,(WPARAM)0,(LPARAM)0)
  304. #define PSM_CANCELTOCLOSE (WM_USER + 107)
  305. #define PropSheet_CancelToClose(hDlg) PostMessage(hDlg,PSM_CANCELTOCLOSE,(WPARAM)0,(LPARAM)0)
  306. #define PSM_QUERYSIBLINGS (WM_USER + 108)
  307. #define PropSheet_QuerySiblings(hDlg,wParam,lParam) SNDMSG(hDlg,PSM_QUERYSIBLINGS,wParam,lParam)
  308. #define PSM_UNCHANGED (WM_USER + 109)
  309. #define PropSheet_UnChanged(hDlg,hwnd) SNDMSG(hDlg,PSM_UNCHANGED,(WPARAM)hwnd,(LPARAM)0)
  310. #define PSM_APPLY (WM_USER + 110)
  311. #define PropSheet_Apply(hDlg) SNDMSG(hDlg,PSM_APPLY,(WPARAM)0,(LPARAM)0)
  312. #define PSM_SETTITLEA (WM_USER + 111)
  313. #define PSM_SETTITLEW (WM_USER + 120)
  314. #define PSM_SETTITLE __MINGW_NAME_AW(PSM_SETTITLE)
  315. #define PropSheet_SetTitle(hDlg,wStyle,lpszText) SNDMSG(hDlg,PSM_SETTITLE,wStyle,(LPARAM)(LPCTSTR)(lpszText))
  316. #define PSM_SETWIZBUTTONS (WM_USER + 112)
  317. #define PropSheet_SetWizButtons(hDlg,dwFlags) PostMessage(hDlg,PSM_SETWIZBUTTONS,(WPARAM)0,(LPARAM)dwFlags)
  318. #define PSWIZB_BACK 0x00000001
  319. #define PSWIZB_NEXT 0x00000002
  320. #define PSWIZB_FINISH 0x00000004
  321. #define PSWIZB_DISABLEDFINISH 0x00000008
  322. #define PSM_PRESSBUTTON (WM_USER + 113)
  323. #define PropSheet_PressButton(hDlg,iButton) PostMessage(hDlg,PSM_PRESSBUTTON,(WPARAM)iButton,(LPARAM)0)
  324. #define PSBTN_BACK 0
  325. #define PSBTN_NEXT 1
  326. #define PSBTN_FINISH 2
  327. #define PSBTN_OK 3
  328. #define PSBTN_APPLYNOW 4
  329. #define PSBTN_CANCEL 5
  330. #define PSBTN_HELP 6
  331. #define PSBTN_MAX 6
  332. #define PSM_SETCURSELID (WM_USER + 114)
  333. #define PropSheet_SetCurSelByID(hDlg,id) SNDMSG(hDlg,PSM_SETCURSELID,0,(LPARAM)id)
  334. #define PSM_SETFINISHTEXTA (WM_USER + 115)
  335. #define PSM_SETFINISHTEXTW (WM_USER + 121)
  336. #define PSM_SETFINISHTEXT __MINGW_NAME_AW(PSM_SETFINISHTEXT)
  337. #define PropSheet_SetFinishText(hDlg,lpszText) SNDMSG(hDlg,PSM_SETFINISHTEXT,0,(LPARAM)lpszText)
  338. #define PSM_GETTABCONTROL (WM_USER + 116)
  339. #define PropSheet_GetTabControl(hDlg) (HWND)SNDMSG(hDlg,PSM_GETTABCONTROL,0,0)
  340. #define PSM_ISDIALOGMESSAGE (WM_USER + 117)
  341. #define PropSheet_IsDialogMessage(hDlg,pMsg) (WINBOOL)SNDMSG(hDlg,PSM_ISDIALOGMESSAGE,0,(LPARAM)pMsg)
  342. #define PSM_GETCURRENTPAGEHWND (WM_USER + 118)
  343. #define PropSheet_GetCurrentPageHwnd(hDlg) (HWND)SNDMSG(hDlg,PSM_GETCURRENTPAGEHWND,(WPARAM)0,(LPARAM)0)
  344. #define PSM_INSERTPAGE (WM_USER + 119)
  345. #define PropSheet_InsertPage(hDlg,index,hpage) SNDMSG(hDlg,PSM_INSERTPAGE,(WPARAM)(index),(LPARAM)(hpage))
  346. #define PSM_SETHEADERTITLEA (WM_USER + 125)
  347. #define PSM_SETHEADERTITLEW (WM_USER + 126)
  348. #define PSM_SETHEADERTITLE __MINGW_NAME_AW(PSM_SETHEADERTITLE)
  349. #define PropSheet_SetHeaderTitle(hDlg,index,lpszText) SNDMSG(hDlg,PSM_SETHEADERTITLE,(WPARAM)(index),(LPARAM)(lpszText))
  350. #define PSM_SETHEADERSUBTITLEA (WM_USER + 127)
  351. #define PSM_SETHEADERSUBTITLEW (WM_USER + 128)
  352. #define PSM_SETHEADERSUBTITLE __MINGW_NAME_AW(PSM_SETHEADERSUBTITLE)
  353. #define PropSheet_SetHeaderSubTitle(hDlg,index,lpszText) SNDMSG(hDlg,PSM_SETHEADERSUBTITLE,(WPARAM)(index),(LPARAM)(lpszText))
  354. #define PSM_HWNDTOINDEX (WM_USER + 129)
  355. #define PropSheet_HwndToIndex(hDlg,hwnd) (int)SNDMSG(hDlg,PSM_HWNDTOINDEX,(WPARAM)(hwnd),0)
  356. #define PSM_INDEXTOHWND (WM_USER + 130)
  357. #define PropSheet_IndexToHwnd(hDlg,i) (HWND)SNDMSG(hDlg,PSM_INDEXTOHWND,(WPARAM)(i),0)
  358. #define PSM_PAGETOINDEX (WM_USER + 131)
  359. #define PropSheet_PageToIndex(hDlg,hpage) (int)SNDMSG(hDlg,PSM_PAGETOINDEX,0,(LPARAM)(hpage))
  360. #define PSM_INDEXTOPAGE (WM_USER + 132)
  361. #define PropSheet_IndexToPage(hDlg,i) (HPROPSHEETPAGE)SNDMSG(hDlg,PSM_INDEXTOPAGE,(WPARAM)(i),0)
  362. #define PSM_IDTOINDEX (WM_USER + 133)
  363. #define PropSheet_IdToIndex(hDlg,id) (int)SNDMSG(hDlg,PSM_IDTOINDEX,0,(LPARAM)(id))
  364. #define PSM_INDEXTOID (WM_USER + 134)
  365. #define PropSheet_IndexToId(hDlg,i) SNDMSG(hDlg,PSM_INDEXTOID,(WPARAM)(i),0)
  366. #define PSM_GETRESULT (WM_USER + 135)
  367. #define PropSheet_GetResult(hDlg) SNDMSG(hDlg,PSM_GETRESULT,0,0)
  368. #define PSM_RECALCPAGESIZES (WM_USER + 136)
  369. #define PropSheet_RecalcPageSizes(hDlg) SNDMSG(hDlg,PSM_RECALCPAGESIZES,0,0)
  370. #define ID_PSRESTARTWINDOWS 0x2
  371. #define ID_PSREBOOTSYSTEM (ID_PSRESTARTWINDOWS | 0x1)
  372. #define WIZ_CXDLG 276
  373. #define WIZ_CYDLG 140
  374. #define WIZ_CXBMP 80
  375. #define WIZ_BODYX 92
  376. #define WIZ_BODYCX 184
  377. #define PROP_SM_CXDLG 212
  378. #define PROP_SM_CYDLG 188
  379. #define PROP_MED_CXDLG 227
  380. #define PROP_MED_CYDLG 215
  381. #define PROP_LG_CXDLG 252
  382. #define PROP_LG_CYDLG 218
  383. #ifdef __cplusplus
  384. }
  385. #endif
  386. #include <poppack.h>
  387. #endif