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