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