|
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 |