7 #define MAXPROPPAGES 100
9 #define PSP_DLGINDIRECT 1
10 #define PSP_USEHICON 2
11 #define PSP_USEICONID 4
12 #define PSP_USETITLE 8
13 #define PSP_RTLREADING 16
14 #define PSP_HASHELP 32
15 #define PSP_USEREFPARENT 64
16 #define PSP_USECALLBACK 128
17 #define PSPCB_RELEASE 1
18 #define PSPCB_CREATE 2
20 #define PSH_PROPTITLE 1
21 #define PSH_USEHICON 2
22 #define PSH_USEICONID 4
23 #define PSH_PROPSHEETPAGE 8
25 #define PSH_USEPSTARTPAGE 64
26 #define PSH_NOAPPLYNOW 128
27 #define PSH_USECALLBACK 256
28 #define PSH_HASHELP 512
29 #define PSH_MODELESS 1024
30 #define PSH_RTLREADING 2048
31 #define PSCB_INITIALIZED 1
32 #define PSCB_PRECREATE 2
33 #define PSM_GETTABCONTROL 1140
34 #define PSM_GETCURRENTPAGEHWND 1142
35 #define PSM_ISDIALOGMESSAGE 1141
36 #define PSM_PRESSBUTTON 1137
37 #define PSM_SETCURSELID 1138
38 #define PSM_SETFINISHTEXTW 1145
39 #define PSM_SETFINISHTEXTA 1139
40 #define PSN_FIRST (-200)
41 #define PSN_LAST (-299)
42 #define PSN_APPLY (-202)
43 #define PSN_HELP (-205)
44 #define PSN_KILLACTIVE (-201)
45 #define PSN_QUERYCANCEL (-209)
46 #define PSN_RESET (-203)
47 #define PSN_SETACTIVE (-200)
48 #define PSN_WIZBACK (-206)
49 #define PSN_WIZFINISH (-208)
50 #define PSN_WIZNEXT (-207)
51 #define PSNRET_NOERROR 0
52 #define PSNRET_INVALID 1
53 #define PSNRET_INVALID_NOCHANGEPAGE 2
54 #define ID_PSRESTARTWINDOWS 2
55 #define ID_PSREBOOTSYSTEM 3
60 #define WIZ_BODYCX 184
61 #define PROP_SM_CXDLG 212
62 #define PROP_SM_CYDLG 188
63 #define PROP_MED_CXDLG 227
64 #define PROP_MED_CYDLG 215
65 #define PROP_LG_CXDLG 252
66 #define PROP_LG_CYDLG 218
70 #define PSBTN_FINISH 2
72 #define PSBTN_APPLYNOW 4
73 #define PSBTN_CANCEL 5
77 #define PSWIZB_FINISH 4
78 #define PSWIZB_DISABLEDFINISH 8
79 #define PSM_SETWIZBUTTONS (WM_USER+112)
80 #define PSM_APPLY (WM_USER+110)
81 #define PSM_UNCHANGED (WM_USER+109)
82 #define PSM_QUERYSIBLINGS (WM_USER+108)
83 #define PSM_CANCELTOCLOSE (WM_USER+107)
84 #define PSM_REBOOTSYSTEM (WM_USER+106)
85 #define PSM_RESTARTWINDOWS (WM_USER+105)
86 #define PSM_CHANGED (WM_USER+104)
87 #define PSM_ADDPAGE (WM_USER+103)
88 #define PSM_REMOVEPAGE (WM_USER+102)
89 #define PSM_SETCURSEL (WM_USER+101)
90 #define PSM_SETTITLEA (WM_USER+111)
91 #define PSM_SETTITLEW (WM_USER+120)
96 typedef struct _PROPSHEETPAGEA
{
100 _ANONYMOUS_UNION
union {
102 LPCDLGTEMPLATE pResource
;
104 _ANONYMOUS_UNION
union {
111 UINT(CALLBACK
*pfnCallback
)(HWND
,UINT
,struct _PROPSHEETPAGEA
*);
113 } PROPSHEETPAGEA
,*LPPROPSHEETPAGEA
;
114 typedef const PROPSHEETPAGEA
*LPCPROPSHEETPAGEA
;
115 typedef struct _PROPSHEETPAGEW
{
119 _ANONYMOUS_UNION
union {
121 LPCDLGTEMPLATE pResource
;
123 _ANONYMOUS_UNION
union {
130 UINT(CALLBACK
*pfnCallback
)(HWND
,UINT
,struct _PROPSHEETPAGEW
*);
132 } PROPSHEETPAGEW
,*LPPROPSHEETPAGEW
;
133 typedef const PROPSHEETPAGEA
*LPCPROPSHEETPAGEW
;
134 typedef UINT(CALLBACK
*LPFNPSPCALLBACKA
)(HWND
,UINT
,LPPROPSHEETPAGEA
);
135 typedef UINT(CALLBACK
*LPFNPSPCALLBACKW
)(HWND
,UINT
,LPPROPSHEETPAGEW
);
136 typedef int(CALLBACK
*PFNPROPSHEETCALLBACK
)(HWND
,UINT
,LPARAM
);
137 DECLARE_HANDLE(HPROPSHEETPAGE
);
138 typedef struct _PROPSHEETHEADERA
{
143 _ANONYMOUS_UNION
union {
149 _ANONYMOUS_UNION
union {
153 _ANONYMOUS_UNION
union {
154 LPCPROPSHEETPAGEA ppsp
;
155 HPROPSHEETPAGE
*phpage
;
157 PFNPROPSHEETCALLBACK pfnCallback
;
158 } PROPSHEETHEADERA
,*LPPROPSHEETHEADERA
;
159 typedef const PROPSHEETHEADERA
*LPCPROPSHEETHEADERA
;
160 typedef struct _PROPSHEETHEADERW
{
165 _ANONYMOUS_UNION
union {
171 _ANONYMOUS_UNION
union {
175 _ANONYMOUS_UNION
union {
176 LPCPROPSHEETPAGEW ppsp
;
177 HPROPSHEETPAGE
*phpage
;
179 PFNPROPSHEETCALLBACK pfnCallback
;
180 } PROPSHEETHEADERW
,*LPPROPSHEETHEADERW
;
181 typedef const PROPSHEETHEADERW
*LPCPROPSHEETHEADERW
;
182 typedef BOOL(CALLBACK
*LPFNADDPROPSHEETPAGE
)(HPROPSHEETPAGE
,LPARAM
);
183 typedef BOOL(CALLBACK
*LPFNADDPROPSHEETPAGES
)(LPVOID
,LPFNADDPROPSHEETPAGE
,LPARAM
);
184 typedef struct _PSHNOTIFY
{
187 } PSHNOTIFY
,*LPPSHNOTIFY
;
191 HPROPSHEETPAGE WINAPI
CreatePropertySheetPageA(LPCPROPSHEETPAGEA
);
192 HPROPSHEETPAGE WINAPI
CreatePropertySheetPageW(LPCPROPSHEETPAGEW
);
193 BOOL WINAPI
DestroyPropertySheetPage(HPROPSHEETPAGE
);
194 int WINAPI
PropertySheetA(LPCPROPSHEETHEADERA
);
195 int WINAPI
PropertySheetW(LPCPROPSHEETHEADERW
);
196 #define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p)
197 #define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0)
198 #define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0)
199 #define PropSheet_Changed(d,w) SendMessage(d,PSM_CHANGED,(WPARAM)w,0)
200 #define PropSheet_GetCurrentPageHwnd(d) (HWND)SendMessage(d,PSM_GETCURRENTPAGEHWND,0,0)
201 #define PropSheet_GetTabControl(d) (HWND)SendMessage(d,PSM_GETTABCONTROL,0,0)
202 #define PropSheet_IsDialogMessage(d,m) (BOOL)SendMessage(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m)
203 #define PropSheet_PressButton(d,i) SendMessage(d,PSM_PRESSBUTTON,i,0)
204 #define PropSheet_QuerySiblings(d,w,l) SendMessage(d,PSM_QUERYSIBLINGS,w,l)
205 #define PropSheet_RebootSystem(d) SendMessage(d,PSM_REBOOTSYSTEM,0,0)
206 #define PropSheet_RemovePage(d,i,p) SendMessage(d,PSM_REMOVEPAGE,i,(LPARAM)p)
207 #define PropSheet_RestartWindows(d) SendMessage(d,PSM_RESTARTWINDOWS,0,0)
208 #define PropSheet_SetCurSel(d,p,i) SendMessage(d,PSM_SETCURSEL,i,(LPARAM)p)
209 #define PropSheet_SetCurSelByID(d,i) SendMessage(d,PSM_SETCURSELID,0,i)
210 #define PropSheet_SetFinishText(d,s) SendMessage(d,PSM_SETFINISHTEXT,0,(LPARAM)s)
211 #define PropSheet_SetTitle(d,w,s) SendMessage(d,PSM_SETTITLE,w,(LPARAM)s)
212 #define PropSheet_SetWizButtons(d,f) PostMessage(d,PSM_SETWIZBUTTONS,0,(LPARAM)f)
213 #define PropSheet_UnChanged(d,w) SendMessage(d,PSM_UNCHANGED,(WPARAM)w,0)
217 #define LPFNPSPCALLBACK LPFNPSPCALLBACKW
218 #define PROPSHEETPAGE PROPSHEETPAGEW
219 #define LPPROPSHEETPAGE LPPROPSHEETPAGEW
220 #define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW
221 #define PROPSHEETHEADER PROPSHEETHEADERW
222 #define LPPROPSHEETHEADER LPPROPSHEETHEADERW
223 #define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW
224 #define PSM_SETTITLE PSM_SETTITLEW
225 #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW
226 #define CreatePropertySheetPage CreatePropertySheetPageW
227 #define PropertySheet PropertySheetW
229 #define LPFNPSPCALLBACK LPFNPSPCALLBACKA
230 #define PROPSHEETPAGE PROPSHEETPAGEA
231 #define LPPROPSHEETPAGE LPPROPSHEETPAGEA
232 #define LPCPROPSHEETPAGE LPCPROPSHEETPAGEA
233 #define PROPSHEETHEADER PROPSHEETHEADERA
234 #define LPPROPSHEETHEADER LPPROPSHEETHEADERA
235 #define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA
236 #define PSM_SETTITLE PSM_SETTITLEA
237 #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA
238 #define CreatePropertySheetPage CreatePropertySheetPageA
239 #define PropertySheet PropertySheetA