Differences From Artifact [11c80dc8e4f04de3]:
- File
src/win32/prsht.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [d175d0f84ae40260]:
- File
src/win32/prsht.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
5 5 * *
6 6 * Translated from MinGW Windows headers *
7 7 * by Vladimir Vlasov *
8 8 * *
9 9 * Placed into public domain *
10 10 \***********************************************************************/
11 11 module win32.prsht;
12 -pragma(lib, "comctl32.lib");
12 +pragma(lib, "comctl32");
13 13
14 14 private import win32.w32api, win32.windef, win32.winuser;
15 15
16 16 const MAXPROPPAGES = 100;
17 17
18 18 enum {
19 19 PSP_DEFAULT = 0x00000000,
................................................................................
24 24 PSP_RTLREADING = 0x00000010,
25 25 PSP_HASHELP = 0x00000020,
26 26 PSP_USEREFPARENT = 0x00000040,
27 27 PSP_USECALLBACK = 0x00000080,
28 28 PSP_PREMATURE = 0x00000400
29 29 }
30 30
31 -static if (_WIN32_IE >= 0x0400) {
31 +static if (_WIN32_IE >= 0x400) {
32 32 enum {
33 33 PSP_HIDEHEADER = 0x00000800,
34 34 PSP_USEHEADERTITLE = 0x00001000,
35 35 PSP_USEHEADERSUBTITLE = 0x00002000
36 36 }
37 37 }
38 38
................................................................................
54 54 PSH_USECALLBACK = 0x00000100,
55 55 PSH_HASHELP = 0x00000200,
56 56 PSH_MODELESS = 0x00000400,
57 57 PSH_RTLREADING = 0x00000800,
58 58 PSH_WIZARDCONTEXTHELP = 0x00001000
59 59 }
60 60
61 -static if (_WIN32_IE >= 0x0400) {
61 +static if (_WIN32_IE >= 0x400) {
62 62 enum {
63 63 PSH_WATERMARK = 0x00008000,
64 64 PSH_USEHBMWATERMARK = 0x00010000,
65 65 PSH_USEHPLWATERMARK = 0x00020000,
66 66 PSH_STRETCHWATERMARK = 0x00040000,
67 67 PSH_HEADER = 0x00080000,
68 68 PSH_USEHBMHEADER = 0x00100000,
................................................................................
75 75 } else {
76 76 enum {
77 77 PSH_WIZARD97 = 0x01000000
78 78 }
79 79 }
80 80 }
81 81
82 -static if (_WIN32_IE >= 0x0500) {
82 +static if (_WIN32_IE >= 0x500) {
83 83 enum {
84 84 PSH_WIZARD_LITE = 0x00400000,
85 85 PSH_NOCONTEXTHELP = 0x02000000
86 86 }
87 87 }
88 88
89 89 enum {
................................................................................
100 100 PSN_RESET = (-203),
101 101 PSN_HELP = (-205),
102 102 PSN_WIZBACK = (-206),
103 103 PSN_WIZNEXT = (-207),
104 104 PSN_WIZFINISH = (-208),
105 105 PSN_QUERYCANCEL = (-209)
106 106 }
107 -static if (_WIN32_IE >= 0x0400) {
107 +static if (_WIN32_IE >= 0x400) {
108 108 enum {
109 109 PSN_GETOBJECT = (-210)
110 110 }
111 111 }
112 -static if (_WIN32_IE >= 0x0500) {
112 +static if (_WIN32_IE >= 0x500) {
113 113 enum {
114 114 PSN_TRANSLATEACCELERATOR = (-212),
115 115 PSN_QUERYINITIALFOCUS = (-213)
116 116 }
117 117 }
118 118
119 119 enum {
................................................................................
206 206 LPCSTR pszIcon;
207 207 }
208 208 LPCSTR pszTitle;
209 209 DLGPROC pfnDlgProc;
210 210 LPARAM lParam;
211 211 LPFNPSPCALLBACKA pfnCallback;
212 212 UINT* pcRefParent;
213 - static if (_WIN32_IE >= 0x0400) {
213 + static if (_WIN32_IE >= 0x400) {
214 214 LPCSTR pszHeaderTitle;
215 215 LPCSTR pszHeaderSubTitle;
216 216 }
217 217 }
218 -alias PROPSHEETPAGEA* LPPROPSHEETPAGEA;
219 -alias CPtr!(PROPSHEETPAGEA) LPCPROPSHEETPAGEA;
218 +alias PROPSHEETPAGEA* LPPROPSHEETPAGEA;
219 +alias const(PROPSHEETPAGEA)* LPCPROPSHEETPAGEA;
220 220
221 221 struct PROPSHEETPAGEW {
222 222 DWORD dwSize = PROPSHEETPAGEW.sizeof;
223 223 DWORD dwFlags;
224 224 HINSTANCE hInstance;
225 225 union {
226 226 LPCWSTR pszTemplate;
................................................................................
231 231 LPCWSTR pszIcon;
232 232 }
233 233 LPCWSTR pszTitle;
234 234 DLGPROC pfnDlgProc;
235 235 LPARAM lParam;
236 236 LPFNPSPCALLBACKW pfnCallback;
237 237 UINT* pcRefParent;
238 - static if (_WIN32_IE >= 0x0400) {
238 + static if (_WIN32_IE >= 0x400) {
239 239 LPCWSTR pszHeaderTitle;
240 240 LPCWSTR pszHeaderSubTitle;
241 241 }
242 242 }
243 -alias PROPSHEETPAGEW* LPPROPSHEETPAGEW;
244 -alias CPtr!(PROPSHEETPAGEW) LPCPROPSHEETPAGEW;
243 +alias PROPSHEETPAGEW* LPPROPSHEETPAGEW;
244 +alias const(PROPSHEETPAGEW)* LPCPROPSHEETPAGEW;
245 245
246 -alias HANDLE HPROPSHEETPAGE;
246 +mixin DECLARE_HANDLE!("HPROPSHEETPAGE");
247 247
248 248 struct PROPSHEETHEADERA {
249 249 DWORD dwSize = PROPSHEETHEADERA.sizeof;
250 250 DWORD dwFlags;
251 251 HWND hwndParent;
252 252 HINSTANCE hInstance;
253 253 union {
................................................................................
261 261 LPCSTR pStartPage;
262 262 }
263 263 union {
264 264 LPCPROPSHEETPAGEA ppsp;
265 265 HPROPSHEETPAGE* phpage;
266 266 }
267 267 PFNPROPSHEETCALLBACK pfnCallback;
268 - static if (_WIN32_IE >= 0x0400) {
268 + static if (_WIN32_IE >= 0x400) {
269 269 union {
270 270 HBITMAP hbmWatermark;
271 271 LPCSTR pszbmWatermark;
272 272 }
273 273 HPALETTE hplWatermark;
274 274 union {
275 275 HBITMAP hbmHeader;
276 276 LPCSTR pszbmHeader;
277 277 }
278 278 }
279 279 }
280 -alias PROPSHEETHEADERA* LPPROPSHEETHEADERA;
281 -alias CPtr!(PROPSHEETHEADERA) LPCPROPSHEETHEADERA;
280 +alias PROPSHEETHEADERA* LPPROPSHEETHEADERA;
281 +alias const(PROPSHEETHEADERA)* LPCPROPSHEETHEADERA;
282 282
283 283 struct PROPSHEETHEADERW {
284 284 DWORD dwSize = PROPSHEETHEADERW.sizeof;
285 285 DWORD dwFlags;
286 286 HWND hwndParent;
287 287 HINSTANCE hInstance;
288 288 union {
................................................................................
296 296 LPCWSTR pStartPage;
297 297 }
298 298 union {
299 299 LPCPROPSHEETPAGEW ppsp;
300 300 HPROPSHEETPAGE* phpage;
301 301 }
302 302 PFNPROPSHEETCALLBACK pfnCallback;
303 - static if (_WIN32_IE >= 0x0400) {
303 + static if (_WIN32_IE >= 0x400) {
304 304 union {
305 305 HBITMAP hbmWatermark;
306 306 LPCWSTR pszbmWatermark;
307 307 }
308 308 HPALETTE hplWatermark;
309 309 union {
310 310 HBITMAP hbmHeader;
311 311 LPCWSTR pszbmHeader;
312 312 }
313 313 }
314 314 }
315 -alias PROPSHEETHEADERW* LPPROPSHEETHEADERW;
316 -alias CPtr!(PROPSHEETHEADERW) LPCPROPSHEETHEADERW;
315 +alias PROPSHEETHEADERW* LPPROPSHEETHEADERW;
316 +alias const(PROPSHEETHEADERW)* LPCPROPSHEETHEADERW;
317 317
318 318 alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE;
319 319 alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM)
320 320 LPFNADDPROPSHEETPAGES;
321 321
322 322 struct PSHNOTIFY {
323 323 NMHDR hdr;
................................................................................
387 387 }
388 388
389 389 VOID PropSheet_CancelToClose(HWND hPropSheetDlg) {
390 390 SendMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0);
391 391 }
392 392
393 393 int PropSheet_QuerySiblings(HWND hPropSheetDlg, WPARAM param1, LPARAM param2) {
394 - return SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, param1, param2);
394 + return cast(int) SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, param1, param2);
395 395 }
396 396
397 397 VOID PropSheet_UnChanged(HWND hPropSheetDlg, HWND hwndPage) {
398 398 SendMessage(hPropSheetDlg, PSM_UNCHANGED, cast(WPARAM) hwndPage, 0);
399 399 }
400 400
401 401 BOOL PropSheet_Apply(HWND hPropSheetDlg) {