Mercurial > projects > ddbg_continued
comparison win32/prsht.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
1 /***********************************************************************\ | |
2 * prsht.d * | |
3 * * | |
4 * Windows API header module * | |
5 * * | |
6 * Translated from MinGW Windows headers * | |
7 * by Vladimir Vlasov * | |
8 * * | |
9 * Placed into public domain * | |
10 \***********************************************************************/ | |
11 module win32.prsht; | |
12 pragma(lib, "comctl32.lib"); | |
13 | |
14 private import win32.w32api, win32.windef, win32.winuser; | |
15 | |
16 const MAXPROPPAGES = 100; | |
17 | |
18 enum { | |
19 PSP_DEFAULT = 0x00000000, | |
20 PSP_DLGINDIRECT = 0x00000001, | |
21 PSP_USEHICON = 0x00000002, | |
22 PSP_USEICONID = 0x00000004, | |
23 PSP_USETITLE = 0x00000008, | |
24 PSP_RTLREADING = 0x00000010, | |
25 PSP_HASHELP = 0x00000020, | |
26 PSP_USEREFPARENT = 0x00000040, | |
27 PSP_USECALLBACK = 0x00000080, | |
28 PSP_PREMATURE = 0x00000400 | |
29 } | |
30 | |
31 static if (_WIN32_IE >= 0x0400) { | |
32 enum { | |
33 PSP_HIDEHEADER = 0x00000800, | |
34 PSP_USEHEADERTITLE = 0x00001000, | |
35 PSP_USEHEADERSUBTITLE = 0x00002000 | |
36 } | |
37 } | |
38 | |
39 enum { | |
40 PSPCB_RELEASE = 1, | |
41 PSPCB_CREATE | |
42 } | |
43 | |
44 enum { | |
45 PSH_DEFAULT = 0x00000000, | |
46 PSH_PROPTITLE = 0x00000001, | |
47 PSH_USEHICON = 0x00000002, | |
48 PSH_USEICONID = 0x00000004, | |
49 PSH_PROPSHEETPAGE = 0x00000008, | |
50 PSH_WIZARDHASFINISH = 0x00000010, | |
51 PSH_WIZARD = 0x00000020, | |
52 PSH_USEPSTARTPAGE = 0x00000040, | |
53 PSH_NOAPPLYNOW = 0x00000080, | |
54 PSH_USECALLBACK = 0x00000100, | |
55 PSH_HASHELP = 0x00000200, | |
56 PSH_MODELESS = 0x00000400, | |
57 PSH_RTLREADING = 0x00000800, | |
58 PSH_WIZARDCONTEXTHELP = 0x00001000 | |
59 } | |
60 | |
61 static if (_WIN32_IE >= 0x0400) { | |
62 enum { | |
63 PSH_WATERMARK = 0x00008000, | |
64 PSH_USEHBMWATERMARK = 0x00010000, | |
65 PSH_USEHPLWATERMARK = 0x00020000, | |
66 PSH_STRETCHWATERMARK = 0x00040000, | |
67 PSH_HEADER = 0x00080000, | |
68 PSH_USEHBMHEADER = 0x00100000, | |
69 PSH_USEPAGELANG = 0x00200000 | |
70 } | |
71 static if (_WIN32_IE < 0x0500) { | |
72 enum { | |
73 PSH_WIZARD97 = 0x00002000 | |
74 } | |
75 } else { | |
76 enum { | |
77 PSH_WIZARD97 = 0x01000000 | |
78 } | |
79 } | |
80 } | |
81 | |
82 static if (_WIN32_IE >= 0x0500) { | |
83 enum { | |
84 PSH_WIZARD_LITE = 0x00400000, | |
85 PSH_NOCONTEXTHELP = 0x02000000 | |
86 } | |
87 } | |
88 | |
89 enum { | |
90 PSCB_INITIALIZED = 1, | |
91 PSCB_PRECREATE | |
92 } | |
93 | |
94 enum { | |
95 PSN_FIRST = (-200), | |
96 PSN_LAST = (-299), | |
97 PSN_SETACTIVE = (-200), | |
98 PSN_KILLACTIVE = (-201), | |
99 PSN_APPLY = (-202), | |
100 PSN_RESET = (-203), | |
101 PSN_HELP = (-205), | |
102 PSN_WIZBACK = (-206), | |
103 PSN_WIZNEXT = (-207), | |
104 PSN_WIZFINISH = (-208), | |
105 PSN_QUERYCANCEL = (-209) | |
106 } | |
107 static if (_WIN32_IE >= 0x0400) { | |
108 enum { | |
109 PSN_GETOBJECT = (-210) | |
110 } | |
111 } | |
112 static if (_WIN32_IE >= 0x0500) { | |
113 enum { | |
114 PSN_TRANSLATEACCELERATOR = (-212), | |
115 PSN_QUERYINITIALFOCUS = (-213) | |
116 } | |
117 } | |
118 | |
119 enum { | |
120 PSNRET_NOERROR, | |
121 PSNRET_INVALID, | |
122 PSNRET_INVALID_NOCHANGEPAGE, | |
123 PSNRET_MESSAGEHANDLED | |
124 } | |
125 | |
126 enum { | |
127 ID_PSRESTARTWINDOWS = 0x2, | |
128 ID_PSREBOOTSYSTEM = ID_PSRESTARTWINDOWS | 0x1 | |
129 } | |
130 | |
131 enum { | |
132 WIZ_CXDLG = 276, | |
133 WIZ_CYDLG = 140, | |
134 WIZ_CXBMP = 80, | |
135 WIZ_BODYX = 92, | |
136 WIZ_BODYCX = 184 | |
137 } | |
138 | |
139 enum { | |
140 PROP_SM_CXDLG = 212, | |
141 PROP_SM_CYDLG = 188, | |
142 PROP_MED_CXDLG = 227, | |
143 PROP_MED_CYDLG = 215, | |
144 PROP_LG_CXDLG = 252, | |
145 PROP_LG_CYDLG = 218 | |
146 } | |
147 | |
148 enum { | |
149 PSBTN_BACK, | |
150 PSBTN_NEXT, | |
151 PSBTN_FINISH, | |
152 PSBTN_OK, | |
153 PSBTN_APPLYNOW, | |
154 PSBTN_CANCEL, | |
155 PSBTN_HELP, | |
156 PSBTN_MAX = 6 | |
157 } | |
158 | |
159 enum { | |
160 PSWIZB_BACK = 1, | |
161 PSWIZB_NEXT = 2, | |
162 PSWIZB_FINISH = 4, | |
163 PSWIZB_DISABLEDFINISH = 8 | |
164 } | |
165 | |
166 enum { | |
167 PSM_SETCURSEL = WM_USER + 101, | |
168 PSM_REMOVEPAGE, | |
169 PSM_ADDPAGE, | |
170 PSM_CHANGED, | |
171 PSM_RESTARTWINDOWS, | |
172 PSM_REBOOTSYSTEM, | |
173 PSM_CANCELTOCLOSE, | |
174 PSM_QUERYSIBLINGS, | |
175 PSM_UNCHANGED, | |
176 PSM_APPLY, | |
177 PSM_SETTITLEA, | |
178 PSM_SETWIZBUTTONS, | |
179 PSM_PRESSBUTTON, | |
180 PSM_SETCURSELID, | |
181 PSM_SETFINISHTEXTA, | |
182 PSM_GETTABCONTROL, | |
183 PSM_ISDIALOGMESSAGE, | |
184 PSM_GETCURRENTPAGEHWND, | |
185 PSM_INSERTPAGE, | |
186 PSM_SETTITLEW, | |
187 PSM_SETFINISHTEXTW // = WM_USER + 121, | |
188 } | |
189 | |
190 alias UINT function(HWND, UINT, LPPROPSHEETPAGEA) LPFNPSPCALLBACKA; | |
191 alias UINT function(HWND, UINT, LPPROPSHEETPAGEW) LPFNPSPCALLBACKW; | |
192 alias int function(HWND, UINT, LPARAM) PFNPROPSHEETCALLBACK; | |
193 | |
194 align(4): | |
195 | |
196 struct PROPSHEETPAGEA { | |
197 DWORD dwSize = PROPSHEETPAGEA.sizeof; | |
198 DWORD dwFlags; | |
199 HINSTANCE hInstance; | |
200 union { | |
201 LPCSTR pszTemplate; | |
202 LPCDLGTEMPLATE pResource; | |
203 } | |
204 union { | |
205 HICON hIcon; | |
206 LPCSTR pszIcon; | |
207 } | |
208 LPCSTR pszTitle; | |
209 DLGPROC pfnDlgProc; | |
210 LPARAM lParam; | |
211 LPFNPSPCALLBACKA pfnCallback; | |
212 UINT* pcRefParent; | |
213 static if (_WIN32_IE >= 0x0400) { | |
214 LPCSTR pszHeaderTitle; | |
215 LPCSTR pszHeaderSubTitle; | |
216 } | |
217 } | |
218 alias PROPSHEETPAGEA* LPPROPSHEETPAGEA, LPCPROPSHEETPAGEA; | |
219 | |
220 struct PROPSHEETPAGEW { | |
221 DWORD dwSize = PROPSHEETPAGEW.sizeof; | |
222 DWORD dwFlags; | |
223 HINSTANCE hInstance; | |
224 union { | |
225 LPCWSTR pszTemplate; | |
226 LPCDLGTEMPLATE pResource; | |
227 } | |
228 union { | |
229 HICON hIcon; | |
230 LPCWSTR pszIcon; | |
231 } | |
232 LPCWSTR pszTitle; | |
233 DLGPROC pfnDlgProc; | |
234 LPARAM lParam; | |
235 LPFNPSPCALLBACKW pfnCallback; | |
236 UINT* pcRefParent; | |
237 static if (_WIN32_IE >= 0x0400) { | |
238 LPCWSTR pszHeaderTitle; | |
239 LPCWSTR pszHeaderSubTitle; | |
240 } | |
241 } | |
242 alias PROPSHEETPAGEW* LPPROPSHEETPAGEW, LPCPROPSHEETPAGEW; | |
243 | |
244 alias HANDLE HPROPSHEETPAGE; | |
245 | |
246 struct PROPSHEETHEADERA { | |
247 DWORD dwSize = PROPSHEETHEADERA.sizeof; | |
248 DWORD dwFlags; | |
249 HWND hwndParent; | |
250 HINSTANCE hInstance; | |
251 union { | |
252 HICON hIcon; | |
253 LPCSTR pszIcon; | |
254 } | |
255 LPCSTR pszCaption; | |
256 UINT nPages; | |
257 union { | |
258 UINT nStartPage; | |
259 LPCSTR pStartPage; | |
260 } | |
261 union { | |
262 LPCPROPSHEETPAGEA ppsp; | |
263 HPROPSHEETPAGE* phpage; | |
264 } | |
265 PFNPROPSHEETCALLBACK pfnCallback; | |
266 static if (_WIN32_IE >= 0x0400) { | |
267 union { | |
268 HBITMAP hbmWatermark; | |
269 LPCSTR pszbmWatermark; | |
270 } | |
271 HPALETTE hplWatermark; | |
272 union { | |
273 HBITMAP hbmHeader; | |
274 LPCSTR pszbmHeader; | |
275 } | |
276 } | |
277 } | |
278 alias PROPSHEETHEADERA* LPPROPSHEETHEADERA, LPCPROPSHEETHEADERA; | |
279 | |
280 struct PROPSHEETHEADERW { | |
281 DWORD dwSize = PROPSHEETHEADERW.sizeof; | |
282 DWORD dwFlags; | |
283 HWND hwndParent; | |
284 HINSTANCE hInstance; | |
285 union { | |
286 HICON hIcon; | |
287 LPCWSTR pszIcon; | |
288 } | |
289 LPCWSTR pszCaption; | |
290 UINT nPages; | |
291 union { | |
292 UINT nStartPage; | |
293 LPCWSTR pStartPage; | |
294 } | |
295 union { | |
296 LPCPROPSHEETPAGEW ppsp; | |
297 HPROPSHEETPAGE* phpage; | |
298 } | |
299 PFNPROPSHEETCALLBACK pfnCallback; | |
300 static if (_WIN32_IE >= 0x0400) { | |
301 union { | |
302 HBITMAP hbmWatermark; | |
303 LPCWSTR pszbmWatermark; | |
304 } | |
305 HPALETTE hplWatermark; | |
306 union { | |
307 HBITMAP hbmHeader; | |
308 LPCWSTR pszbmHeader; | |
309 } | |
310 } | |
311 } | |
312 alias PROPSHEETHEADERW* LPPROPSHEETHEADERW, LPCPROPSHEETHEADERW; | |
313 | |
314 alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE; | |
315 alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) | |
316 LPFNADDPROPSHEETPAGES; | |
317 | |
318 struct PSHNOTIFY { | |
319 NMHDR hdr; | |
320 LPARAM lParam; | |
321 } | |
322 alias PSHNOTIFY* LPPSHNOTIFY; | |
323 | |
324 extern (Windows) { | |
325 HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGEA); | |
326 HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGEW); | |
327 BOOL DestroyPropertySheetPage(HPROPSHEETPAGE); | |
328 int PropertySheetA(LPCPROPSHEETHEADERA); | |
329 int PropertySheetW(LPCPROPSHEETHEADERW); | |
330 } | |
331 | |
332 version (Unicode) { | |
333 alias LPFNPSPCALLBACKW LPFNPSPCALLBACK; | |
334 alias PROPSHEETPAGEW PROPSHEETPAGE; | |
335 alias LPPROPSHEETPAGEW LPPROPSHEETPAGE; | |
336 alias LPCPROPSHEETPAGEW LPCPROPSHEETPAGE; | |
337 alias PROPSHEETHEADERW PROPSHEETHEADER; | |
338 alias LPPROPSHEETHEADERW LPPROPSHEETHEADER; | |
339 alias LPCPROPSHEETHEADERW LPCPROPSHEETHEADER; | |
340 alias PSM_SETTITLEW PSM_SETTITLE; | |
341 alias PSM_SETFINISHTEXTW PSM_SETFINISHTEXT; | |
342 alias CreatePropertySheetPageW CreatePropertySheetPage; | |
343 alias PropertySheetW PropertySheet; | |
344 } else { | |
345 alias LPFNPSPCALLBACKA LPFNPSPCALLBACK; | |
346 alias PROPSHEETPAGEA PROPSHEETPAGE; | |
347 alias LPPROPSHEETPAGEA LPPROPSHEETPAGE; | |
348 alias LPCPROPSHEETPAGEA LPCPROPSHEETPAGE; | |
349 alias PROPSHEETHEADERA PROPSHEETHEADER; | |
350 alias LPPROPSHEETHEADERA LPPROPSHEETHEADER; | |
351 alias LPCPROPSHEETHEADERA LPCPROPSHEETHEADER; | |
352 alias PSM_SETTITLEA PSM_SETTITLE; | |
353 alias PSM_SETFINISHTEXTA PSM_SETFINISHTEXT; | |
354 alias CreatePropertySheetPageA CreatePropertySheetPage; | |
355 alias PropertySheetA PropertySheet; | |
356 } | |
357 | |
358 BOOL PropSheet_SetCurSel(HWND hPropSheetDlg, HPROPSHEETPAGE hpage, | |
359 HPROPSHEETPAGE index) { | |
360 return cast(BOOL) SendMessage(hPropSheetDlg, PSM_SETCURSEL, | |
361 cast(WPARAM) index, cast(LPARAM) hpage); | |
362 } | |
363 | |
364 VOID PropSheet_RemovePage(HWND hPropSheetDlg, int index, HPROPSHEETPAGE hpage) { | |
365 SendMessage(hPropSheetDlg, PSM_REMOVEPAGE, index, cast(LPARAM) hpage); | |
366 } | |
367 | |
368 BOOL PropSheet_AddPage(HWND hPropSheetDlg, HPROPSHEETPAGE hpage) { | |
369 return cast(BOOL) SendMessage(hPropSheetDlg, PSM_ADDPAGE, | |
370 0, cast(LPARAM) hpage); | |
371 } | |
372 | |
373 VOID PropSheet_Changed(HWND hPropSheetDlg, HWND hwndPage) { | |
374 SendMessage(hPropSheetDlg, PSM_CHANGED, cast(WPARAM) hwndPage, 0); | |
375 } | |
376 | |
377 VOID PropSheet_RestartWindows(HWND hPropSheetDlg) { | |
378 SendMessage(hPropSheetDlg, PSM_RESTARTWINDOWS, 0, 0); | |
379 } | |
380 | |
381 VOID PropSheet_RebootSystem(HWND hPropSheetDlg) { | |
382 SendMessage(hPropSheetDlg, PSM_REBOOTSYSTEM, 0, 0); | |
383 } | |
384 | |
385 VOID PropSheet_CancelToClose(HWND hPropSheetDlg) { | |
386 SendMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0); | |
387 } | |
388 | |
389 int PropSheet_QuerySiblings(HWND hPropSheetDlg, WPARAM param1, LPARAM param2) { | |
390 return SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, param1, param2); | |
391 } | |
392 | |
393 VOID PropSheet_UnChanged(HWND hPropSheetDlg, HWND hwndPage) { | |
394 SendMessage(hPropSheetDlg, PSM_UNCHANGED, cast(WPARAM) hwndPage, 0); | |
395 } | |
396 | |
397 BOOL PropSheet_Apply(HWND hPropSheetDlg) { | |
398 return cast(BOOL) SendMessage(hPropSheetDlg, PSM_APPLY, 0, 0); | |
399 } | |
400 | |
401 VOID PropSheet_SetTitle(HWND hPropSheetDlg, DWORD wStyle, LPTSTR lpszText) { | |
402 SendMessage(hPropSheetDlg, PSM_SETTITLE, wStyle, cast(LPARAM) lpszText); | |
403 } | |
404 | |
405 VOID PropSheet_SetWizButtons(HWND hPropSheetDlg, DWORD dwFlags) { | |
406 PostMessage(hPropSheetDlg, PSM_SETWIZBUTTONS, 0, cast(LPARAM) dwFlags); | |
407 } | |
408 | |
409 BOOL PropSheet_PressButton(HWND hPropSheetDlg, int iButton) { | |
410 return cast(BOOL) SendMessage(hPropSheetDlg, PSM_PRESSBUTTON, iButton, 0); | |
411 } | |
412 | |
413 BOOL PropSheet_SetCurSelByID(HWND hPropSheetDlg, int id) { | |
414 return cast(BOOL) SendMessage(hPropSheetDlg, PSM_SETCURSELID, 0, id); | |
415 } | |
416 | |
417 VOID PropSheet_SetFinishText(HWND hPropSheetDlg, LPTSTR lpszText) { | |
418 SendMessage(hPropSheetDlg, PSM_SETFINISHTEXT, 0, cast(LPARAM) lpszText); | |
419 } | |
420 | |
421 HWND PropSheet_GetTabControl(HWND hPropSheetDlg) { | |
422 return cast(HWND) SendMessage(hPropSheetDlg, PSM_GETTABCONTROL, 0, 0); | |
423 } | |
424 | |
425 BOOL PropSheet_IsDialogMessage(HWND hDlg, LPMSG pMsg) { | |
426 return cast(BOOL) SendMessage(hDlg, PSM_ISDIALOGMESSAGE, | |
427 0, cast(LPARAM) pMsg); | |
428 } | |
429 | |
430 HWND PropSheet_GetCurrentPageHwnd(HWND hDlg) { | |
431 return cast(HWND) SendMessage(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0); | |
432 } | |
433 | |
434 BOOL PropSheet_InsertPage(HWND hPropSheetDlg, WPARAM wInsertAfter, | |
435 HPROPSHEETPAGE hpage) { | |
436 return cast(BOOL) SendMessage(hPropSheetDlg, PSM_INSERTPAGE, | |
437 wInsertAfter, cast(LPARAM) hpage); | |
438 } |