Artifact d175d0f84ae4026017b74e1b50ab8355323c3f63:
- 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.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 20 70 72 73 68 prsh
0070: 74 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 t.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..*
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 by
01e0: 20 56 6c 61 64 69 6d 69 72 20 56 6c 61 73 6f 76 Vladimir Vlasov
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0250: 20 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 *..*
0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0270: 50 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c Placed into publ
0280: 69 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 ic domain
0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
02a0: 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a *..\************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f ***********/..mo
02f0: 64 75 6c 65 20 77 69 6e 33 32 2e 70 72 73 68 74 dule win32.prsht
0300: 3b 0d 0a 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 ;..pragma(lib, "
0310: 63 6f 6d 63 74 6c 33 32 22 29 3b 0d 0a 0d 0a 70 comctl32");....p
0320: 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 rivate import wi
0330: 6e 33 32 2e 77 33 32 61 70 69 2c 20 77 69 6e 33 n32.w32api, win3
0340: 32 2e 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 2.windef, win32.
0350: 77 69 6e 75 73 65 72 3b 0d 0a 0d 0a 63 6f 6e 73 winuser;....cons
0360: 74 20 4d 41 58 50 52 4f 50 50 41 47 45 53 20 3d t MAXPROPPAGES =
0370: 20 31 30 30 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 100;....enum {.
0380: 0a 09 50 53 50 5f 44 45 46 41 55 4c 54 20 20 20 ..PSP_DEFAULT
0390: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30 2c = 0x00000000,
03a0: 0d 0a 09 50 53 50 5f 44 4c 47 49 4e 44 49 52 45 ...PSP_DLGINDIRE
03b0: 43 54 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 CT = 0x00000001
03c0: 2c 0d 0a 09 50 53 50 5f 55 53 45 48 49 43 4f 4e ,...PSP_USEHICON
03d0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 = 0x0000000
03e0: 32 2c 0d 0a 09 50 53 50 5f 55 53 45 49 43 4f 4e 2,...PSP_USEICON
03f0: 49 44 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 ID = 0x000000
0400: 30 34 2c 0d 0a 09 50 53 50 5f 55 53 45 54 49 54 04,...PSP_USETIT
0410: 4c 45 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 LE = 0x00000
0420: 30 30 38 2c 0d 0a 09 50 53 50 5f 52 54 4c 52 45 008,...PSP_RTLRE
0430: 41 44 49 4e 47 20 20 20 3d 20 30 78 30 30 30 30 ADING = 0x0000
0440: 30 30 31 30 2c 0d 0a 09 50 53 50 5f 48 41 53 48 0010,...PSP_HASH
0450: 45 4c 50 20 20 20 20 20 20 3d 20 30 78 30 30 30 ELP = 0x000
0460: 30 30 30 32 30 2c 0d 0a 09 50 53 50 5f 55 53 45 00020,...PSP_USE
0470: 52 45 46 50 41 52 45 4e 54 20 3d 20 30 78 30 30 REFPARENT = 0x00
0480: 30 30 30 30 34 30 2c 0d 0a 09 50 53 50 5f 55 53 000040,...PSP_US
0490: 45 43 41 4c 4c 42 41 43 4b 20 20 3d 20 30 78 30 ECALLBACK = 0x0
04a0: 30 30 30 30 30 38 30 2c 0d 0a 09 50 53 50 5f 50 0000080,...PSP_P
04b0: 52 45 4d 41 54 55 52 45 20 20 20 20 3d 20 30 78 REMATURE = 0x
04c0: 30 30 30 30 30 34 30 30 0d 0a 7d 0d 0a 0d 0a 73 00000400..}....s
04d0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 tatic if (_WIN32
04e0: 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d _IE >= 0x400) {.
04f0: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 50 53 50 5f ..enum {....PSP_
0500: 48 49 44 45 48 45 41 44 45 52 20 20 20 20 20 20 HIDEHEADER
0510: 20 20 3d 20 30 78 30 30 30 30 30 38 30 30 2c 0d = 0x00000800,.
0520: 0a 09 09 50 53 50 5f 55 53 45 48 45 41 44 45 52 ...PSP_USEHEADER
0530: 54 49 54 4c 45 20 20 20 20 3d 20 30 78 30 30 30 TITLE = 0x000
0540: 30 31 30 30 30 2c 0d 0a 09 09 50 53 50 5f 55 53 01000,....PSP_US
0550: 45 48 45 41 44 45 52 53 55 42 54 49 54 4c 45 20 EHEADERSUBTITLE
0560: 3d 20 30 78 30 30 30 30 32 30 30 30 0d 0a 09 7d = 0x00002000...}
0570: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 ..}....enum {...
0580: 50 53 50 43 42 5f 52 45 4c 45 41 53 45 20 3d 20 PSPCB_RELEASE =
0590: 31 2c 0d 0a 09 50 53 50 43 42 5f 43 52 45 41 54 1,...PSPCB_CREAT
05a0: 45 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a E..}....enum {..
05b0: 09 50 53 48 5f 44 45 46 41 55 4c 54 20 20 20 20 .PSH_DEFAULT
05c0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
05d0: 30 30 30 2c 0d 0a 09 50 53 48 5f 50 52 4f 50 54 000,...PSH_PROPT
05e0: 49 54 4c 45 20 20 20 20 20 20 20 20 20 3d 20 30 ITLE = 0
05f0: 78 30 30 30 30 30 30 30 31 2c 0d 0a 09 50 53 48 x00000001,...PSH
0600: 5f 55 53 45 48 49 43 4f 4e 20 20 20 20 20 20 20 _USEHICON
0610: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c = 0x00000002,
0620: 0d 0a 09 50 53 48 5f 55 53 45 49 43 4f 4e 49 44 ...PSH_USEICONID
0630: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
0640: 30 30 30 30 34 2c 0d 0a 09 50 53 48 5f 50 52 4f 00004,...PSH_PRO
0650: 50 53 48 45 45 54 50 41 47 45 20 20 20 20 20 3d PSHEETPAGE =
0660: 20 30 78 30 30 30 30 30 30 30 38 2c 0d 0a 09 50 0x00000008,...P
0670: 53 48 5f 57 49 5a 41 52 44 48 41 53 46 49 4e 49 SH_WIZARDHASFINI
0680: 53 48 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 SH = 0x0000001
0690: 30 2c 0d 0a 09 50 53 48 5f 57 49 5a 41 52 44 20 0,...PSH_WIZARD
06a0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
06b0: 30 30 30 30 30 32 30 2c 0d 0a 09 50 53 48 5f 55 0000020,...PSH_U
06c0: 53 45 50 53 54 41 52 54 50 41 47 45 20 20 20 20 SEPSTARTPAGE
06d0: 20 3d 20 30 78 30 30 30 30 30 30 34 30 2c 0d 0a = 0x00000040,..
06e0: 09 50 53 48 5f 4e 4f 41 50 50 4c 59 4e 4f 57 20 .PSH_NOAPPLYNOW
06f0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
0700: 30 38 30 2c 0d 0a 09 50 53 48 5f 55 53 45 43 41 080,...PSH_USECA
0710: 4c 4c 42 41 43 4b 20 20 20 20 20 20 20 3d 20 30 LLBACK = 0
0720: 78 30 30 30 30 30 31 30 30 2c 0d 0a 09 50 53 48 x00000100,...PSH
0730: 5f 48 41 53 48 45 4c 50 20 20 20 20 20 20 20 20 _HASHELP
0740: 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c = 0x00000200,
0750: 0d 0a 09 50 53 48 5f 4d 4f 44 45 4c 45 53 53 20 ...PSH_MODELESS
0760: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
0770: 30 30 34 30 30 2c 0d 0a 09 50 53 48 5f 52 54 4c 00400,...PSH_RTL
0780: 52 45 41 44 49 4e 47 20 20 20 20 20 20 20 20 3d READING =
0790: 20 30 78 30 30 30 30 30 38 30 30 2c 0d 0a 09 50 0x00000800,...P
07a0: 53 48 5f 57 49 5a 41 52 44 43 4f 4e 54 45 58 54 SH_WIZARDCONTEXT
07b0: 48 45 4c 50 20 3d 20 30 78 30 30 30 30 31 30 30 HELP = 0x0000100
07c0: 30 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 0..}....static i
07d0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
07e0: 30 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 0x400) {...enum
07f0: 7b 0d 0a 09 09 50 53 48 5f 57 41 54 45 52 4d 41 {....PSH_WATERMA
0800: 52 4b 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 RK = 0x00
0810: 30 30 38 30 30 30 2c 0d 0a 09 09 50 53 48 5f 55 008000,....PSH_U
0820: 53 45 48 42 4d 57 41 54 45 52 4d 41 52 4b 20 20 SEHBMWATERMARK
0830: 3d 20 30 78 30 30 30 31 30 30 30 30 2c 0d 0a 09 = 0x00010000,...
0840: 09 50 53 48 5f 55 53 45 48 50 4c 57 41 54 45 52 .PSH_USEHPLWATER
0850: 4d 41 52 4b 20 20 3d 20 30 78 30 30 30 32 30 30 MARK = 0x000200
0860: 30 30 2c 0d 0a 09 09 50 53 48 5f 53 54 52 45 54 00,....PSH_STRET
0870: 43 48 57 41 54 45 52 4d 41 52 4b 20 3d 20 30 78 CHWATERMARK = 0x
0880: 30 30 30 34 30 30 30 30 2c 0d 0a 09 09 50 53 48 00040000,....PSH
0890: 5f 48 45 41 44 45 52 20 20 20 20 20 20 20 20 20 _HEADER
08a0: 20 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0d = 0x00080000,.
08b0: 0a 09 09 50 53 48 5f 55 53 45 48 42 4d 48 45 41 ...PSH_USEHBMHEA
08c0: 44 45 52 20 20 20 20 20 3d 20 30 78 30 30 31 30 DER = 0x0010
08d0: 30 30 30 30 2c 0d 0a 09 09 50 53 48 5f 55 53 45 0000,....PSH_USE
08e0: 50 41 47 45 4c 41 4e 47 20 20 20 20 20 20 3d 20 PAGELANG =
08f0: 30 78 30 30 32 30 30 30 30 30 0d 0a 09 7d 0d 0a 0x00200000...}..
0900: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN
0910: 33 32 5f 49 45 20 3c 20 30 78 30 35 30 30 29 20 32_IE < 0x0500)
0920: 7b 0d 0a 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 {....enum {.....
0930: 50 53 48 5f 57 49 5a 41 52 44 39 37 20 3d 20 30 PSH_WIZARD97 = 0
0940: 78 30 30 30 30 32 30 30 30 0d 0a 09 09 7d 0d 0a x00002000....}..
0950: 09 7d 20 65 6c 73 65 20 7b 0d 0a 09 09 65 6e 75 .} else {....enu
0960: 6d 20 7b 0d 0a 09 09 09 50 53 48 5f 57 49 5a 41 m {.....PSH_WIZA
0970: 52 44 39 37 20 3d 20 30 78 30 31 30 30 30 30 30 RD97 = 0x0100000
0980: 30 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0....}...}..}...
0990: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN
09a0: 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 20 32_IE >= 0x500)
09b0: 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 50 53 {...enum {....PS
09c0: 48 5f 57 49 5a 41 52 44 5f 4c 49 54 45 20 20 20 H_WIZARD_LITE
09d0: 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0d 0a 09 = 0x00400000,...
09e0: 09 50 53 48 5f 4e 4f 43 4f 4e 54 45 58 54 48 45 .PSH_NOCONTEXTHE
09f0: 4c 50 20 3d 20 30 78 30 32 30 30 30 30 30 30 0d LP = 0x02000000.
0a00: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b ..}..}....enum {
0a10: 0d 0a 09 50 53 43 42 5f 49 4e 49 54 49 41 4c 49 ...PSCB_INITIALI
0a20: 5a 45 44 20 3d 20 31 2c 0d 0a 09 50 53 43 42 5f ZED = 1,...PSCB_
0a30: 50 52 45 43 52 45 41 54 45 0d 0a 7d 0d 0a 0d 0a PRECREATE..}....
0a40: 65 6e 75 6d 20 7b 0d 0a 09 50 53 4e 5f 46 49 52 enum {...PSN_FIR
0a50: 53 54 20 20 20 20 20 20 20 3d 20 28 2d 32 30 30 ST = (-200
0a60: 29 2c 0d 0a 09 50 53 4e 5f 4c 41 53 54 20 20 20 ),...PSN_LAST
0a70: 20 20 20 20 20 3d 20 28 2d 32 39 39 29 2c 0d 0a = (-299),..
0a80: 09 50 53 4e 5f 53 45 54 41 43 54 49 56 45 20 20 .PSN_SETACTIVE
0a90: 20 3d 20 28 2d 32 30 30 29 2c 0d 0a 09 50 53 4e = (-200),...PSN
0aa0: 5f 4b 49 4c 4c 41 43 54 49 56 45 20 20 3d 20 28 _KILLACTIVE = (
0ab0: 2d 32 30 31 29 2c 0d 0a 09 50 53 4e 5f 41 50 50 -201),...PSN_APP
0ac0: 4c 59 20 20 20 20 20 20 20 3d 20 28 2d 32 30 32 LY = (-202
0ad0: 29 2c 0d 0a 09 50 53 4e 5f 52 45 53 45 54 20 20 ),...PSN_RESET
0ae0: 20 20 20 20 20 3d 20 28 2d 32 30 33 29 2c 0d 0a = (-203),..
0af0: 09 50 53 4e 5f 48 45 4c 50 20 20 20 20 20 20 20 .PSN_HELP
0b00: 20 3d 20 28 2d 32 30 35 29 2c 0d 0a 09 50 53 4e = (-205),...PSN
0b10: 5f 57 49 5a 42 41 43 4b 20 20 20 20 20 3d 20 28 _WIZBACK = (
0b20: 2d 32 30 36 29 2c 0d 0a 09 50 53 4e 5f 57 49 5a -206),...PSN_WIZ
0b30: 4e 45 58 54 20 20 20 20 20 3d 20 28 2d 32 30 37 NEXT = (-207
0b40: 29 2c 0d 0a 09 50 53 4e 5f 57 49 5a 46 49 4e 49 ),...PSN_WIZFINI
0b50: 53 48 20 20 20 3d 20 28 2d 32 30 38 29 2c 0d 0a SH = (-208),..
0b60: 09 50 53 4e 5f 51 55 45 52 59 43 41 4e 43 45 4c .PSN_QUERYCANCEL
0b70: 20 3d 20 28 2d 32 30 39 29 0d 0a 7d 0d 0a 73 74 = (-209)..}..st
0b80: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f atic if (_WIN32_
0b90: 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a IE >= 0x400) {..
0ba0: 09 65 6e 75 6d 20 7b 0d 0a 09 09 50 53 4e 5f 47 .enum {....PSN_G
0bb0: 45 54 4f 42 4a 45 43 54 20 3d 20 28 2d 32 31 30 ETOBJECT = (-210
0bc0: 29 0d 0a 09 7d 0d 0a 7d 0d 0a 73 74 61 74 69 63 )...}..}..static
0bd0: 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e if (_WIN32_IE >
0be0: 3d 20 30 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75 = 0x500) {...enu
0bf0: 6d 20 7b 0d 0a 09 09 50 53 4e 5f 54 52 41 4e 53 m {....PSN_TRANS
0c00: 4c 41 54 45 41 43 43 45 4c 45 52 41 54 4f 52 20 LATEACCELERATOR
0c10: 3d 20 28 2d 32 31 32 29 2c 0d 0a 09 09 50 53 4e = (-212),....PSN
0c20: 5f 51 55 45 52 59 49 4e 49 54 49 41 4c 46 4f 43 _QUERYINITIALFOC
0c30: 55 53 20 20 20 20 3d 20 28 2d 32 31 33 29 0d 0a US = (-213)..
0c40: 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d .}..}....enum {.
0c50: 0a 09 50 53 4e 52 45 54 5f 4e 4f 45 52 52 4f 52 ..PSNRET_NOERROR
0c60: 2c 0d 0a 09 50 53 4e 52 45 54 5f 49 4e 56 41 4c ,...PSNRET_INVAL
0c70: 49 44 2c 0d 0a 09 50 53 4e 52 45 54 5f 49 4e 56 ID,...PSNRET_INV
0c80: 41 4c 49 44 5f 4e 4f 43 48 41 4e 47 45 50 41 47 ALID_NOCHANGEPAG
0c90: 45 2c 0d 0a 09 50 53 4e 52 45 54 5f 4d 45 53 53 E,...PSNRET_MESS
0ca0: 41 47 45 48 41 4e 44 4c 45 44 0d 0a 7d 0d 0a 0d AGEHANDLED..}...
0cb0: 0a 65 6e 75 6d 20 7b 0d 0a 09 49 44 5f 50 53 52 .enum {...ID_PSR
0cc0: 45 53 54 41 52 54 57 49 4e 44 4f 57 53 20 3d 20 ESTARTWINDOWS =
0cd0: 30 78 32 2c 0d 0a 09 49 44 5f 50 53 52 45 42 4f 0x2,...ID_PSREBO
0ce0: 4f 54 53 59 53 54 45 4d 20 20 20 3d 20 49 44 5f OTSYSTEM = ID_
0cf0: 50 53 52 45 53 54 41 52 54 57 49 4e 44 4f 57 53 PSRESTARTWINDOWS
0d00: 20 7c 20 30 78 31 0d 0a 7d 0d 0a 0d 0a 65 6e 75 | 0x1..}....enu
0d10: 6d 20 7b 0d 0a 09 57 49 5a 5f 43 58 44 4c 47 20 m {...WIZ_CXDLG
0d20: 20 3d 20 32 37 36 2c 0d 0a 09 57 49 5a 5f 43 59 = 276,...WIZ_CY
0d30: 44 4c 47 20 20 3d 20 31 34 30 2c 0d 0a 09 57 49 DLG = 140,...WI
0d40: 5a 5f 43 58 42 4d 50 20 20 3d 20 38 30 2c 0d 0a Z_CXBMP = 80,..
0d50: 09 57 49 5a 5f 42 4f 44 59 58 20 20 3d 20 39 32 .WIZ_BODYX = 92
0d60: 2c 0d 0a 09 57 49 5a 5f 42 4f 44 59 43 58 20 3d ,...WIZ_BODYCX =
0d70: 20 31 38 34 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 184..}....enum
0d80: 7b 0d 0a 09 50 52 4f 50 5f 53 4d 5f 43 58 44 4c {...PROP_SM_CXDL
0d90: 47 20 20 3d 20 32 31 32 2c 0d 0a 09 50 52 4f 50 G = 212,...PROP
0da0: 5f 53 4d 5f 43 59 44 4c 47 20 20 3d 20 31 38 38 _SM_CYDLG = 188
0db0: 2c 0d 0a 09 50 52 4f 50 5f 4d 45 44 5f 43 58 44 ,...PROP_MED_CXD
0dc0: 4c 47 20 3d 20 32 32 37 2c 0d 0a 09 50 52 4f 50 LG = 227,...PROP
0dd0: 5f 4d 45 44 5f 43 59 44 4c 47 20 3d 20 32 31 35 _MED_CYDLG = 215
0de0: 2c 0d 0a 09 50 52 4f 50 5f 4c 47 5f 43 58 44 4c ,...PROP_LG_CXDL
0df0: 47 20 20 3d 20 32 35 32 2c 0d 0a 09 50 52 4f 50 G = 252,...PROP
0e00: 5f 4c 47 5f 43 59 44 4c 47 20 20 3d 20 32 31 38 _LG_CYDLG = 218
0e10: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 ..}....enum {...
0e20: 50 53 42 54 4e 5f 42 41 43 4b 2c 0d 0a 09 50 53 PSBTN_BACK,...PS
0e30: 42 54 4e 5f 4e 45 58 54 2c 0d 0a 09 50 53 42 54 BTN_NEXT,...PSBT
0e40: 4e 5f 46 49 4e 49 53 48 2c 0d 0a 09 50 53 42 54 N_FINISH,...PSBT
0e50: 4e 5f 4f 4b 2c 0d 0a 09 50 53 42 54 4e 5f 41 50 N_OK,...PSBTN_AP
0e60: 50 4c 59 4e 4f 57 2c 0d 0a 09 50 53 42 54 4e 5f PLYNOW,...PSBTN_
0e70: 43 41 4e 43 45 4c 2c 0d 0a 09 50 53 42 54 4e 5f CANCEL,...PSBTN_
0e80: 48 45 4c 50 2c 0d 0a 09 50 53 42 54 4e 5f 4d 41 HELP,...PSBTN_MA
0e90: 58 20 3d 20 36 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d X = 6..}....enum
0ea0: 20 7b 0d 0a 09 50 53 57 49 5a 42 5f 42 41 43 4b {...PSWIZB_BACK
0eb0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 2c 0d = 1,.
0ec0: 0a 09 50 53 57 49 5a 42 5f 4e 45 58 54 20 20 20 ..PSWIZB_NEXT
0ed0: 20 20 20 20 20 20 20 20 3d 20 32 2c 0d 0a 09 50 = 2,...P
0ee0: 53 57 49 5a 42 5f 46 49 4e 49 53 48 20 20 20 20 SWIZB_FINISH
0ef0: 20 20 20 20 20 3d 20 34 2c 0d 0a 09 50 53 57 49 = 4,...PSWI
0f00: 5a 42 5f 44 49 53 41 42 4c 45 44 46 49 4e 49 53 ZB_DISABLEDFINIS
0f10: 48 20 3d 20 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d H = 8..}....enum
0f20: 20 7b 0d 0a 09 50 53 4d 5f 53 45 54 43 55 52 53 {...PSM_SETCURS
0f30: 45 4c 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 EL = WM_USER + 1
0f40: 30 31 2c 0d 0a 09 50 53 4d 5f 52 45 4d 4f 56 45 01,...PSM_REMOVE
0f50: 50 41 47 45 2c 0d 0a 09 50 53 4d 5f 41 44 44 50 PAGE,...PSM_ADDP
0f60: 41 47 45 2c 0d 0a 09 50 53 4d 5f 43 48 41 4e 47 AGE,...PSM_CHANG
0f70: 45 44 2c 0d 0a 09 50 53 4d 5f 52 45 53 54 41 52 ED,...PSM_RESTAR
0f80: 54 57 49 4e 44 4f 57 53 2c 0d 0a 09 50 53 4d 5f TWINDOWS,...PSM_
0f90: 52 45 42 4f 4f 54 53 59 53 54 45 4d 2c 0d 0a 09 REBOOTSYSTEM,...
0fa0: 50 53 4d 5f 43 41 4e 43 45 4c 54 4f 43 4c 4f 53 PSM_CANCELTOCLOS
0fb0: 45 2c 0d 0a 09 50 53 4d 5f 51 55 45 52 59 53 49 E,...PSM_QUERYSI
0fc0: 42 4c 49 4e 47 53 2c 0d 0a 09 50 53 4d 5f 55 4e BLINGS,...PSM_UN
0fd0: 43 48 41 4e 47 45 44 2c 0d 0a 09 50 53 4d 5f 41 CHANGED,...PSM_A
0fe0: 50 50 4c 59 2c 0d 0a 09 50 53 4d 5f 53 45 54 54 PPLY,...PSM_SETT
0ff0: 49 54 4c 45 41 2c 0d 0a 09 50 53 4d 5f 53 45 54 ITLEA,...PSM_SET
1000: 57 49 5a 42 55 54 54 4f 4e 53 2c 0d 0a 09 50 53 WIZBUTTONS,...PS
1010: 4d 5f 50 52 45 53 53 42 55 54 54 4f 4e 2c 0d 0a M_PRESSBUTTON,..
1020: 09 50 53 4d 5f 53 45 54 43 55 52 53 45 4c 49 44 .PSM_SETCURSELID
1030: 2c 0d 0a 09 50 53 4d 5f 53 45 54 46 49 4e 49 53 ,...PSM_SETFINIS
1040: 48 54 45 58 54 41 2c 0d 0a 09 50 53 4d 5f 47 45 HTEXTA,...PSM_GE
1050: 54 54 41 42 43 4f 4e 54 52 4f 4c 2c 0d 0a 09 50 TTABCONTROL,...P
1060: 53 4d 5f 49 53 44 49 41 4c 4f 47 4d 45 53 53 41 SM_ISDIALOGMESSA
1070: 47 45 2c 0d 0a 09 50 53 4d 5f 47 45 54 43 55 52 GE,...PSM_GETCUR
1080: 52 45 4e 54 50 41 47 45 48 57 4e 44 2c 0d 0a 09 RENTPAGEHWND,...
1090: 50 53 4d 5f 49 4e 53 45 52 54 50 41 47 45 2c 0d PSM_INSERTPAGE,.
10a0: 0a 09 50 53 4d 5f 53 45 54 54 49 54 4c 45 57 2c ..PSM_SETTITLEW,
10b0: 0d 0a 09 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 ...PSM_SETFINISH
10c0: 54 45 58 54 57 20 2f 2f 20 3d 20 57 4d 5f 55 53 TEXTW // = WM_US
10d0: 45 52 20 2b 20 31 32 31 2c 0d 0a 7d 0d 0a 0d 0a ER + 121,..}....
10e0: 61 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63 74 alias UINT funct
10f0: 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 ion(HWND, UINT,
1100: 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 LPPROPSHEETPAGEA
1110: 29 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 ) LPFNPSPCALLBAC
1120: 4b 41 3b 0d 0a 61 6c 69 61 73 20 55 49 4e 54 20 KA;..alias UINT
1130: 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 function(HWND, U
1140: 49 4e 54 2c 20 4c 50 50 52 4f 50 53 48 45 45 54 INT, LPPROPSHEET
1150: 50 41 47 45 57 29 20 4c 50 46 4e 50 53 50 43 41 PAGEW) LPFNPSPCA
1160: 4c 4c 42 41 43 4b 57 3b 0d 0a 61 6c 69 61 73 20 LLBACKW;..alias
1170: 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e int function(HWN
1180: 44 2c 20 55 49 4e 54 2c 20 4c 50 41 52 41 4d 29 D, UINT, LPARAM)
1190: 20 50 46 4e 50 52 4f 50 53 48 45 45 54 43 41 4c PFNPROPSHEETCAL
11a0: 4c 42 41 43 4b 3b 0d 0a 0d 0a 61 6c 69 67 6e 28 LBACK;....align(
11b0: 34 29 3a 0d 0a 0d 0a 73 74 72 75 63 74 20 50 52 4):....struct PR
11c0: 4f 50 53 48 45 45 54 50 41 47 45 41 20 7b 0d 0a OPSHEETPAGEA {..
11d0: 09 44 57 4f 52 44 20 64 77 53 69 7a 65 20 3d 20 .DWORD dwSize =
11e0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 2e 73 PROPSHEETPAGEA.s
11f0: 69 7a 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 20 64 izeof;...DWORD d
1200: 77 46 6c 61 67 73 3b 0d 0a 09 48 49 4e 53 54 41 wFlags;...HINSTA
1210: 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a NCE hInstance;..
1220: 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 4c 50 43 53 .union {....LPCS
1230: 54 52 20 20 20 20 20 20 20 20 20 70 73 7a 54 65 TR pszTe
1240: 6d 70 6c 61 74 65 3b 0d 0a 09 09 4c 50 43 44 4c mplate;....LPCDL
1250: 47 54 45 4d 50 4c 41 54 45 20 70 52 65 73 6f 75 GTEMPLATE pResou
1260: 72 63 65 3b 0d 0a 09 7d 0d 0a 09 75 6e 69 6f 6e rce;...}...union
1270: 20 7b 0d 0a 09 09 48 49 43 4f 4e 20 20 68 49 63 {....HICON hIc
1280: 6f 6e 3b 0d 0a 09 09 4c 50 43 53 54 52 20 70 73 on;....LPCSTR ps
1290: 7a 49 63 6f 6e 3b 0d 0a 09 7d 0d 0a 09 4c 50 43 zIcon;...}...LPC
12a0: 53 54 52 20 20 70 73 7a 54 69 74 6c 65 3b 0d 0a STR pszTitle;..
12b0: 09 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50 .DLGPROC pfnDlgP
12c0: 72 6f 63 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 6c roc;...LPARAM l
12d0: 50 61 72 61 6d 3b 0d 0a 09 4c 50 46 4e 50 53 50 Param;...LPFNPSP
12e0: 43 41 4c 4c 42 41 43 4b 41 20 70 66 6e 43 61 6c CALLBACKA pfnCal
12f0: 6c 62 61 63 6b 3b 0d 0a 09 55 49 4e 54 2a 20 20 lback;...UINT*
1300: 20 20 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d pcRefParent;.
1310: 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 ..static if (_WI
1320: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 N32_IE >= 0x400)
1330: 20 7b 0d 0a 09 09 4c 50 43 53 54 52 20 70 73 7a {....LPCSTR psz
1340: 48 65 61 64 65 72 54 69 74 6c 65 3b 0d 0a 09 09 HeaderTitle;....
1350: 4c 50 43 53 54 52 20 70 73 7a 48 65 61 64 65 72 LPCSTR pszHeader
1360: 53 75 62 54 69 74 6c 65 3b 0d 0a 09 7d 0d 0a 7d SubTitle;...}..}
1370: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE
1380: 54 50 41 47 45 41 2a 20 20 20 20 20 20 20 20 4c TPAGEA* L
1390: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 3b PPROPSHEETPAGEA;
13a0: 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28 50 52 ..alias const(PR
13b0: 4f 50 53 48 45 45 54 50 41 47 45 41 29 2a 20 4c OPSHEETPAGEA)* L
13c0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 PCPROPSHEETPAGEA
13d0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 50 52 4f 50 ;....struct PROP
13e0: 53 48 45 45 54 50 41 47 45 57 20 7b 0d 0a 09 44 SHEETPAGEW {...D
13f0: 57 4f 52 44 20 20 20 20 20 64 77 53 69 7a 65 20 WORD dwSize
1400: 3d 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 = PROPSHEETPAGEW
1410: 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 .sizeof;...DWORD
1420: 20 20 20 20 20 64 77 46 6c 61 67 73 3b 0d 0a 09 dwFlags;...
1430: 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 HINSTANCE hInsta
1440: 6e 63 65 3b 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a nce;...union {..
1450: 09 09 4c 50 43 57 53 54 52 20 20 20 20 20 20 20 ..LPCWSTR
1460: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 09 pszTemplate;...
1470: 09 4c 50 43 44 4c 47 54 45 4d 50 4c 41 54 45 20 .LPCDLGTEMPLATE
1480: 70 52 65 73 6f 75 72 63 65 3b 0d 0a 09 7d 0d 0a pResource;...}..
1490: 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 48 49 43 4f .union {....HICO
14a0: 4e 20 20 20 68 49 63 6f 6e 3b 0d 0a 09 09 4c 50 N hIcon;....LP
14b0: 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a CWSTR pszIcon;..
14c0: 09 7d 0d 0a 09 4c 50 43 57 53 54 52 20 20 20 70 .}...LPCWSTR p
14d0: 73 7a 54 69 74 6c 65 3b 0d 0a 09 44 4c 47 50 52 szTitle;...DLGPR
14e0: 4f 43 20 20 20 70 66 6e 44 6c 67 50 72 6f 63 3b OC pfnDlgProc;
14f0: 0d 0a 09 4c 50 41 52 41 4d 20 20 20 20 6c 50 61 ...LPARAM lPa
1500: 72 61 6d 3b 0d 0a 09 4c 50 46 4e 50 53 50 43 41 ram;...LPFNPSPCA
1510: 4c 4c 42 41 43 4b 57 20 70 66 6e 43 61 6c 6c 62 LLBACKW pfnCallb
1520: 61 63 6b 3b 0d 0a 09 55 49 4e 54 2a 20 20 20 20 ack;...UINT*
1530: 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 09 pcRefParent;...
1540: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 static if (_WIN3
1550: 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 2_IE >= 0x400) {
1560: 0d 0a 09 09 4c 50 43 57 53 54 52 20 70 73 7a 48 ....LPCWSTR pszH
1570: 65 61 64 65 72 54 69 74 6c 65 3b 0d 0a 09 09 4c eaderTitle;....L
1580: 50 43 57 53 54 52 20 70 73 7a 48 65 61 64 65 72 PCWSTR pszHeader
1590: 53 75 62 54 69 74 6c 65 3b 0d 0a 09 7d 0d 0a 7d SubTitle;...}..}
15a0: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE
15b0: 54 50 41 47 45 57 2a 20 20 20 20 20 20 20 20 4c TPAGEW* L
15c0: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 3b PPROPSHEETPAGEW;
15d0: 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28 50 52 ..alias const(PR
15e0: 4f 50 53 48 45 45 54 50 41 47 45 57 29 2a 20 4c OPSHEETPAGEW)* L
15f0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 PCPROPSHEETPAGEW
1600: 3b 0d 0a 0d 0a 6d 69 78 69 6e 20 44 45 43 4c 41 ;....mixin DECLA
1610: 52 45 5f 48 41 4e 44 4c 45 21 28 22 48 50 52 4f RE_HANDLE!("HPRO
1620: 50 53 48 45 45 54 50 41 47 45 22 29 3b 0d 0a 0d PSHEETPAGE");...
1630: 0a 73 74 72 75 63 74 20 50 52 4f 50 53 48 45 45 .struct PROPSHEE
1640: 54 48 45 41 44 45 52 41 20 7b 0d 0a 09 44 57 4f THEADERA {...DWO
1650: 52 44 20 64 77 53 69 7a 65 20 3d 20 50 52 4f 50 RD dwSize = PROP
1660: 53 48 45 45 54 48 45 41 44 45 52 41 2e 73 69 7a SHEETHEADERA.siz
1670: 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 20 64 77 46 eof;...DWORD dwF
1680: 6c 61 67 73 3b 0d 0a 09 48 57 4e 44 20 20 68 77 lags;...HWND hw
1690: 6e 64 50 61 72 65 6e 74 3b 0d 0a 09 48 49 4e 53 ndParent;...HINS
16a0: 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b TANCE hInstance;
16b0: 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 48 49 ...union {....HI
16c0: 43 4f 4e 20 20 20 68 49 63 6f 6e 3b 0d 0a 09 09 CON hIcon;....
16d0: 4c 50 43 53 54 52 20 20 70 73 7a 49 63 6f 6e 3b LPCSTR pszIcon;
16e0: 0d 0a 09 7d 0d 0a 09 4c 50 43 53 54 52 20 70 73 ...}...LPCSTR ps
16f0: 7a 43 61 70 74 69 6f 6e 3b 0d 0a 09 55 49 4e 54 zCaption;...UINT
1700: 20 20 20 6e 50 61 67 65 73 3b 0d 0a 09 75 6e 69 nPages;...uni
1710: 6f 6e 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 6e on {....UINT n
1720: 53 74 61 72 74 50 61 67 65 3b 0d 0a 09 09 4c 50 StartPage;....LP
1730: 43 53 54 52 20 70 53 74 61 72 74 50 61 67 65 3b CSTR pStartPage;
1740: 0d 0a 09 7d 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a ...}...union {..
1750: 09 09 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41 ..LPCPROPSHEETPA
1760: 47 45 41 20 70 70 73 70 3b 0d 0a 09 09 48 50 52 GEA ppsp;....HPR
1770: 4f 50 53 48 45 45 54 50 41 47 45 2a 20 20 20 70 OPSHEETPAGE* p
1780: 68 70 61 67 65 3b 0d 0a 09 7d 0d 0a 09 50 46 4e hpage;...}...PFN
1790: 50 52 4f 50 53 48 45 45 54 43 41 4c 4c 42 41 43 PROPSHEETCALLBAC
17a0: 4b 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a K pfnCallback;..
17b0: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN
17c0: 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 32_IE >= 0x400)
17d0: 7b 0d 0a 09 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 {....union {....
17e0: 09 48 42 49 54 4d 41 50 20 68 62 6d 57 61 74 65 .HBITMAP hbmWate
17f0: 72 6d 61 72 6b 3b 0d 0a 09 09 09 4c 50 43 53 54 rmark;.....LPCST
1800: 52 20 20 70 73 7a 62 6d 57 61 74 65 72 6d 61 72 R pszbmWatermar
1810: 6b 3b 0d 0a 09 09 7d 0d 0a 09 09 48 50 41 4c 45 k;....}....HPALE
1820: 54 54 45 20 68 70 6c 57 61 74 65 72 6d 61 72 6b TTE hplWatermark
1830: 3b 0d 0a 09 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 ;....union {....
1840: 09 48 42 49 54 4d 41 50 20 68 62 6d 48 65 61 64 .HBITMAP hbmHead
1850: 65 72 3b 0d 0a 09 09 09 4c 50 43 53 54 52 20 20 er;.....LPCSTR
1860: 70 73 7a 62 6d 48 65 61 64 65 72 3b 0d 0a 09 09 pszbmHeader;....
1870: 7d 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 }...}..}..alias
1880: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 PROPSHEETHEADERA
1890: 2a 20 20 20 20 20 20 20 20 4c 50 50 52 4f 50 53 * LPPROPS
18a0: 48 45 45 54 48 45 41 44 45 52 41 3b 0d 0a 61 6c HEETHEADERA;..al
18b0: 69 61 73 20 63 6f 6e 73 74 28 50 52 4f 50 53 48 ias const(PROPSH
18c0: 45 45 54 48 45 41 44 45 52 41 29 2a 20 4c 50 43 EETHEADERA)* LPC
18d0: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 PROPSHEETHEADERA
18e0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 50 52 4f 50 ;....struct PROP
18f0: 53 48 45 45 54 48 45 41 44 45 52 57 20 7b 0d 0a SHEETHEADERW {..
1900: 09 44 57 4f 52 44 20 20 20 20 20 64 77 53 69 7a .DWORD dwSiz
1910: 65 20 3d 20 50 52 4f 50 53 48 45 45 54 48 45 41 e = PROPSHEETHEA
1920: 44 45 52 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 DERW.sizeof;...D
1930: 57 4f 52 44 20 20 20 20 20 64 77 46 6c 61 67 73 WORD dwFlags
1940: 3b 0d 0a 09 48 57 4e 44 20 20 20 20 20 20 68 77 ;...HWND hw
1950: 6e 64 50 61 72 65 6e 74 3b 0d 0a 09 48 49 4e 53 ndParent;...HINS
1960: 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b TANCE hInstance;
1970: 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 48 49 ...union {....HI
1980: 43 4f 4e 20 20 20 68 49 63 6f 6e 3b 0d 0a 09 09 CON hIcon;....
1990: 4c 50 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b LPCWSTR pszIcon;
19a0: 0d 0a 09 7d 0d 0a 09 4c 50 43 57 53 54 52 20 20 ...}...LPCWSTR
19b0: 20 70 73 7a 43 61 70 74 69 6f 6e 3b 0d 0a 09 55 pszCaption;...U
19c0: 49 4e 54 20 20 20 20 20 20 6e 50 61 67 65 73 3b INT nPages;
19d0: 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 55 49 ...union {....UI
19e0: 4e 54 20 20 20 20 6e 53 74 61 72 74 50 61 67 65 NT nStartPage
19f0: 3b 0d 0a 09 09 4c 50 43 57 53 54 52 20 70 53 74 ;....LPCWSTR pSt
1a00: 61 72 74 50 61 67 65 3b 0d 0a 09 7d 0d 0a 09 75 artPage;...}...u
1a10: 6e 69 6f 6e 20 7b 0d 0a 09 09 4c 50 43 50 52 4f nion {....LPCPRO
1a20: 50 53 48 45 45 54 50 41 47 45 57 20 70 70 73 70 PSHEETPAGEW ppsp
1a30: 3b 0d 0a 09 09 48 50 52 4f 50 53 48 45 45 54 50 ;....HPROPSHEETP
1a40: 41 47 45 2a 20 20 20 70 68 70 61 67 65 3b 0d 0a AGE* phpage;..
1a50: 09 7d 0d 0a 09 50 46 4e 50 52 4f 50 53 48 45 45 .}...PFNPROPSHEE
1a60: 54 43 41 4c 4c 42 41 43 4b 20 70 66 6e 43 61 6c TCALLBACK pfnCal
1a70: 6c 62 61 63 6b 3b 0d 0a 09 73 74 61 74 69 63 20 lback;...static
1a80: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
1a90: 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 75 6e 69 0x400) {....uni
1aa0: 6f 6e 20 7b 0d 0a 09 09 09 48 42 49 54 4d 41 50 on {.....HBITMAP
1ab0: 20 68 62 6d 57 61 74 65 72 6d 61 72 6b 3b 0d 0a hbmWatermark;..
1ac0: 09 09 09 4c 50 43 57 53 54 52 20 70 73 7a 62 6d ...LPCWSTR pszbm
1ad0: 57 61 74 65 72 6d 61 72 6b 3b 0d 0a 09 09 7d 0d Watermark;....}.
1ae0: 0a 09 09 48 50 41 4c 45 54 54 45 20 68 70 6c 57 ...HPALETTE hplW
1af0: 61 74 65 72 6d 61 72 6b 3b 0d 0a 09 09 75 6e 69 atermark;....uni
1b00: 6f 6e 20 7b 0d 0a 09 09 09 48 42 49 54 4d 41 50 on {.....HBITMAP
1b10: 20 68 62 6d 48 65 61 64 65 72 3b 0d 0a 09 09 09 hbmHeader;.....
1b20: 4c 50 43 57 53 54 52 20 70 73 7a 62 6d 48 65 61 LPCWSTR pszbmHea
1b30: 64 65 72 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d der;....}...}..}
1b40: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE
1b50: 54 48 45 41 44 45 52 57 2a 20 20 20 20 20 20 20 THEADERW*
1b60: 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 LPPROPSHEETHEAD
1b70: 45 52 57 3b 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 ERW;..alias cons
1b80: 74 28 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 t(PROPSHEETHEADE
1b90: 52 57 29 2a 20 4c 50 43 50 52 4f 50 53 48 45 45 RW)* LPCPROPSHEE
1ba0: 54 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 61 6c 69 THEADERW;....ali
1bb0: 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e as BOOL function
1bc0: 28 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 2c (HPROPSHEETPAGE,
1bd0: 20 4c 50 41 52 41 4d 29 20 4c 50 46 4e 41 44 44 LPARAM) LPFNADD
1be0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a PROPSHEETPAGE;..
1bf0: 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 alias BOOL funct
1c00: 69 6f 6e 28 4c 50 56 4f 49 44 2c 20 4c 50 46 4e ion(LPVOID, LPFN
1c10: 41 44 44 50 52 4f 50 53 48 45 45 54 50 41 47 45 ADDPROPSHEETPAGE
1c20: 2c 20 4c 50 41 52 41 4d 29 0d 0a 20 20 4c 50 46 , LPARAM).. LPF
1c30: 4e 41 44 44 50 52 4f 50 53 48 45 45 54 50 41 47 NADDPROPSHEETPAG
1c40: 45 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 50 53 ES;....struct PS
1c50: 48 4e 4f 54 49 46 59 20 7b 0d 0a 09 4e 4d 48 44 HNOTIFY {...NMHD
1c60: 52 20 20 68 64 72 3b 0d 0a 09 4c 50 41 52 41 4d R hdr;...LPARAM
1c70: 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 lParam;..}..ali
1c80: 61 73 20 50 53 48 4e 4f 54 49 46 59 2a 20 4c 50 as PSHNOTIFY* LP
1c90: 50 53 48 4e 4f 54 49 46 59 3b 0d 0a 0d 0a 65 78 PSHNOTIFY;....ex
1ca0: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b tern (Windows) {
1cb0: 0d 0a 09 48 50 52 4f 50 53 48 45 45 54 50 41 47 ...HPROPSHEETPAG
1cc0: 45 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 E CreateProperty
1cd0: 53 68 65 65 74 50 61 67 65 41 28 4c 50 43 50 52 SheetPageA(LPCPR
1ce0: 4f 50 53 48 45 45 54 50 41 47 45 41 29 3b 0d 0a OPSHEETPAGEA);..
1cf0: 09 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 20 .HPROPSHEETPAGE
1d00: 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 53 68 CreatePropertySh
1d10: 65 65 74 50 61 67 65 57 28 4c 50 43 50 52 4f 50 eetPageW(LPCPROP
1d20: 53 48 45 45 54 50 41 47 45 57 29 3b 0d 0a 09 42 SHEETPAGEW);...B
1d30: 4f 4f 4c 20 44 65 73 74 72 6f 79 50 72 6f 70 65 OOL DestroyPrope
1d40: 72 74 79 53 68 65 65 74 50 61 67 65 28 48 50 52 rtySheetPage(HPR
1d50: 4f 50 53 48 45 45 54 50 41 47 45 29 3b 0d 0a 09 OPSHEETPAGE);...
1d60: 69 6e 74 20 50 72 6f 70 65 72 74 79 53 68 65 65 int PropertyShee
1d70: 74 41 28 4c 50 43 50 52 4f 50 53 48 45 45 54 48 tA(LPCPROPSHEETH
1d80: 45 41 44 45 52 41 29 3b 0d 0a 09 69 6e 74 20 50 EADERA);...int P
1d90: 72 6f 70 65 72 74 79 53 68 65 65 74 57 28 4c 50 ropertySheetW(LP
1da0: 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 CPROPSHEETHEADER
1db0: 57 29 3b 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 69 6f W);..}....versio
1dc0: 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 n (Unicode) {...
1dd0: 61 6c 69 61 73 20 4c 50 46 4e 50 53 50 43 41 4c alias LPFNPSPCAL
1de0: 4c 42 41 43 4b 57 20 20 20 20 20 20 20 20 20 4c LBACKW L
1df0: 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 3b 0d PFNPSPCALLBACK;.
1e00: 0a 09 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE
1e10: 54 50 41 47 45 57 20 20 20 20 20 20 20 20 20 20 TPAGEW
1e20: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d PROPSHEETPAGE;.
1e30: 0a 09 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 ..alias LPPROPSH
1e40: 45 45 54 50 41 47 45 57 20 20 20 20 20 20 20 20 EETPAGEW
1e50: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 LPPROPSHEETPAGE
1e60: 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 43 50 52 4f ;...alias LPCPRO
1e70: 50 53 48 45 45 54 50 41 47 45 57 20 20 20 20 20 PSHEETPAGEW
1e80: 20 20 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 LPCPROPSHEETP
1e90: 41 47 45 3b 0d 0a 09 61 6c 69 61 73 20 50 52 4f AGE;...alias PRO
1ea0: 50 53 48 45 45 54 48 45 41 44 45 52 57 20 20 20 PSHEETHEADERW
1eb0: 20 20 20 20 20 20 50 52 4f 50 53 48 45 45 54 48 PROPSHEETH
1ec0: 45 41 44 45 52 3b 0d 0a 09 61 6c 69 61 73 20 4c EADER;...alias L
1ed0: 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 PPROPSHEETHEADER
1ee0: 57 20 20 20 20 20 20 20 4c 50 50 52 4f 50 53 48 W LPPROPSH
1ef0: 45 45 54 48 45 41 44 45 52 3b 0d 0a 09 61 6c 69 EETHEADER;...ali
1f00: 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 48 as LPCPROPSHEETH
1f10: 45 41 44 45 52 57 20 20 20 20 20 20 4c 50 43 50 EADERW LPCP
1f20: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 3b 0d ROPSHEETHEADER;.
1f30: 0a 09 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 54 ..alias PSM_SETT
1f40: 49 54 4c 45 57 20 20 20 20 20 20 20 20 20 20 20 ITLEW
1f50: 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 3b 0d 0a PSM_SETTITLE;..
1f60: 09 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 46 49 .alias PSM_SETFI
1f70: 4e 49 53 48 54 45 58 54 57 20 20 20 20 20 20 20 NISHTEXTW
1f80: 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58 PSM_SETFINISHTEX
1f90: 54 3b 0d 0a 09 61 6c 69 61 73 20 43 72 65 61 74 T;...alias Creat
1fa0: 65 50 72 6f 70 65 72 74 79 53 68 65 65 74 50 61 ePropertySheetPa
1fb0: 67 65 57 20 43 72 65 61 74 65 50 72 6f 70 65 72 geW CreateProper
1fc0: 74 79 53 68 65 65 74 50 61 67 65 3b 0d 0a 09 61 tySheetPage;...a
1fd0: 6c 69 61 73 20 50 72 6f 70 65 72 74 79 53 68 65 lias PropertyShe
1fe0: 65 74 57 20 20 20 20 20 20 20 20 20 20 20 50 72 etW Pr
1ff0: 6f 70 65 72 74 79 53 68 65 65 74 3b 0d 0a 7d 20 opertySheet;..}
2000: 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 4c else {...alias L
2010: 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 41 20 PFNPSPCALLBACKA
2020: 20 20 20 20 20 20 20 20 4c 50 46 4e 50 53 50 43 LPFNPSPC
2030: 41 4c 4c 42 41 43 4b 3b 0d 0a 09 61 6c 69 61 73 ALLBACK;...alias
2040: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 20 PROPSHEETPAGEA
2050: 20 20 20 20 20 20 20 20 20 20 50 52 4f 50 53 48 PROPSH
2060: 45 45 54 50 41 47 45 3b 0d 0a 09 61 6c 69 61 73 EETPAGE;...alias
2070: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 LPPROPSHEETPAGE
2080: 41 20 20 20 20 20 20 20 20 20 4c 50 50 52 4f 50 A LPPROP
2090: 53 48 45 45 54 50 41 47 45 3b 0d 0a 09 61 6c 69 SHEETPAGE;...ali
20a0: 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 as LPCPROPSHEETP
20b0: 41 47 45 41 20 20 20 20 20 20 20 20 4c 50 43 50 AGEA LPCP
20c0: 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 09 ROPSHEETPAGE;...
20d0: 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 48 alias PROPSHEETH
20e0: 45 41 44 45 52 41 20 20 20 20 20 20 20 20 20 50 EADERA P
20f0: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 3b 0d ROPSHEETHEADER;.
2100: 0a 09 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 ..alias LPPROPSH
2110: 45 45 54 48 45 41 44 45 52 41 20 20 20 20 20 20 EETHEADERA
2120: 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 LPPROPSHEETHEAD
2130: 45 52 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 43 50 ER;...alias LPCP
2140: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 20 ROPSHEETHEADERA
2150: 20 20 20 20 20 4c 50 43 50 52 4f 50 53 48 45 45 LPCPROPSHEE
2160: 54 48 45 41 44 45 52 3b 0d 0a 09 61 6c 69 61 73 THEADER;...alias
2170: 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 41 20 20 PSM_SETTITLEA
2180: 20 20 20 20 20 20 20 20 20 20 50 53 4d 5f 53 45 PSM_SE
2190: 54 54 49 54 4c 45 3b 0d 0a 09 61 6c 69 61 73 20 TTITLE;...alias
21a0: 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58 PSM_SETFINISHTEX
21b0: 54 41 20 20 20 20 20 20 20 50 53 4d 5f 53 45 54 TA PSM_SET
21c0: 46 49 4e 49 53 48 54 45 58 54 3b 0d 0a 09 61 6c FINISHTEXT;...al
21d0: 69 61 73 20 43 72 65 61 74 65 50 72 6f 70 65 72 ias CreateProper
21e0: 74 79 53 68 65 65 74 50 61 67 65 41 20 43 72 65 tySheetPageA Cre
21f0: 61 74 65 50 72 6f 70 65 72 74 79 53 68 65 65 74 atePropertySheet
2200: 50 61 67 65 3b 0d 0a 09 61 6c 69 61 73 20 50 72 Page;...alias Pr
2210: 6f 70 65 72 74 79 53 68 65 65 74 41 20 20 20 20 opertySheetA
2220: 20 20 20 20 20 20 20 50 72 6f 70 65 72 74 79 53 PropertyS
2230: 68 65 65 74 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c heet;..}....BOOL
2240: 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75 PropSheet_SetCu
2250: 72 53 65 6c 28 48 57 4e 44 20 68 50 72 6f 70 53 rSel(HWND hPropS
2260: 68 65 65 74 44 6c 67 2c 20 48 50 52 4f 50 53 48 heetDlg, HPROPSH
2270: 45 45 54 50 41 47 45 20 68 70 61 67 65 2c 0d 0a EETPAGE hpage,..
2280: 09 20 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 . HPROPSHEETPAG
2290: 45 20 69 6e 64 65 78 29 20 7b 0d 0a 09 72 65 74 E index) {...ret
22a0: 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 urn cast(BOOL) S
22b0: 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 endMessage(hProp
22c0: 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 53 45 SheetDlg, PSM_SE
22d0: 54 43 55 52 53 45 4c 2c 0d 0a 09 20 20 63 61 73 TCURSEL,... cas
22e0: 74 28 57 50 41 52 41 4d 29 20 69 6e 64 65 78 2c t(WPARAM) index,
22f0: 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 68 70 cast(LPARAM) hp
2300: 61 67 65 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 age);..}....VOID
2310: 20 50 72 6f 70 53 68 65 65 74 5f 52 65 6d 6f 76 PropSheet_Remov
2320: 65 50 61 67 65 28 48 57 4e 44 20 68 50 72 6f 70 ePage(HWND hProp
2330: 53 68 65 65 74 44 6c 67 2c 20 69 6e 74 20 69 6e SheetDlg, int in
2340: 64 65 78 2c 20 48 50 52 4f 50 53 48 45 45 54 50 dex, HPROPSHEETP
2350: 41 47 45 20 68 70 61 67 65 29 20 7b 0d 0a 09 53 AGE hpage) {...S
2360: 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 endMessage(hProp
2370: 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 52 45 SheetDlg, PSM_RE
2380: 4d 4f 56 45 50 41 47 45 2c 20 69 6e 64 65 78 2c MOVEPAGE, index,
2390: 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 68 70 cast(LPARAM) hp
23a0: 61 67 65 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c age);..}....BOOL
23b0: 20 50 72 6f 70 53 68 65 65 74 5f 41 64 64 50 61 PropSheet_AddPa
23c0: 67 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 ge(HWND hPropShe
23d0: 65 74 44 6c 67 2c 20 48 50 52 4f 50 53 48 45 45 etDlg, HPROPSHEE
23e0: 54 50 41 47 45 20 68 70 61 67 65 29 20 7b 0d 0a TPAGE hpage) {..
23f0: 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f ..return cast(BO
2400: 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 OL) SendMessage(
2410: 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 50 hPropSheetDlg, P
2420: 53 4d 5f 41 44 44 50 41 47 45 2c 0d 0a 09 09 20 SM_ADDPAGE,....
2430: 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 0, cast(LPARAM)
2440: 20 68 70 61 67 65 29 3b 0d 0a 7d 0d 0a 0d 0a 56 hpage);..}....V
2450: 4f 49 44 20 50 72 6f 70 53 68 65 65 74 5f 43 68 OID PropSheet_Ch
2460: 61 6e 67 65 64 28 48 57 4e 44 20 68 50 72 6f 70 anged(HWND hProp
2470: 53 68 65 65 74 44 6c 67 2c 20 48 57 4e 44 20 68 SheetDlg, HWND h
2480: 77 6e 64 50 61 67 65 29 20 7b 0d 0a 09 53 65 6e wndPage) {...Sen
2490: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 dMessage(hPropSh
24a0: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 43 48 41 4e eetDlg, PSM_CHAN
24b0: 47 45 44 2c 20 63 61 73 74 28 57 50 41 52 41 4d GED, cast(WPARAM
24c0: 29 20 68 77 6e 64 50 61 67 65 2c 20 30 29 3b 0d ) hwndPage, 0);.
24d0: 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f 70 53 .}....VOID PropS
24e0: 68 65 65 74 5f 52 65 73 74 61 72 74 57 69 6e 64 heet_RestartWind
24f0: 6f 77 73 28 48 57 4e 44 20 68 50 72 6f 70 53 68 ows(HWND hPropSh
2500: 65 65 74 44 6c 67 29 20 7b 0d 0a 09 53 65 6e 64 eetDlg) {...Send
2510: 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 Message(hPropShe
2520: 65 74 44 6c 67 2c 20 50 53 4d 5f 52 45 53 54 41 etDlg, PSM_RESTA
2530: 52 54 57 49 4e 44 4f 57 53 2c 20 30 2c 20 30 29 RTWINDOWS, 0, 0)
2540: 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f ;..}....VOID Pro
2550: 70 53 68 65 65 74 5f 52 65 62 6f 6f 74 53 79 73 pSheet_RebootSys
2560: 74 65 6d 28 48 57 4e 44 20 68 50 72 6f 70 53 68 tem(HWND hPropSh
2570: 65 65 74 44 6c 67 29 20 7b 0d 0a 09 53 65 6e 64 eetDlg) {...Send
2580: 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 Message(hPropShe
2590: 65 74 44 6c 67 2c 20 50 53 4d 5f 52 45 42 4f 4f etDlg, PSM_REBOO
25a0: 54 53 59 53 54 45 4d 2c 20 30 2c 20 30 29 3b 0d TSYSTEM, 0, 0);.
25b0: 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f 70 53 .}....VOID PropS
25c0: 68 65 65 74 5f 43 61 6e 63 65 6c 54 6f 43 6c 6f heet_CancelToClo
25d0: 73 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 se(HWND hPropShe
25e0: 65 74 44 6c 67 29 20 7b 0d 0a 09 53 65 6e 64 4d etDlg) {...SendM
25f0: 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 essage(hPropShee
2600: 74 44 6c 67 2c 20 50 53 4d 5f 43 41 4e 43 45 4c tDlg, PSM_CANCEL
2610: 54 4f 43 4c 4f 53 45 2c 20 30 2c 20 30 29 3b 0d TOCLOSE, 0, 0);.
2620: 0a 7d 0d 0a 0d 0a 69 6e 74 20 50 72 6f 70 53 68 .}....int PropSh
2630: 65 65 74 5f 51 75 65 72 79 53 69 62 6c 69 6e 67 eet_QuerySibling
2640: 73 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 65 s(HWND hPropShee
2650: 74 44 6c 67 2c 20 57 50 41 52 41 4d 20 70 61 72 tDlg, WPARAM par
2660: 61 6d 31 2c 20 4c 50 41 52 41 4d 20 70 61 72 61 am1, LPARAM para
2670: 6d 32 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 m2) {...return c
2680: 61 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 ast(int) SendMes
2690: 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44 sage(hPropSheetD
26a0: 6c 67 2c 20 50 53 4d 5f 51 55 45 52 59 53 49 42 lg, PSM_QUERYSIB
26b0: 4c 49 4e 47 53 2c 20 70 61 72 61 6d 31 2c 20 70 LINGS, param1, p
26c0: 61 72 61 6d 32 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f aram2);..}....VO
26d0: 49 44 20 50 72 6f 70 53 68 65 65 74 5f 55 6e 43 ID PropSheet_UnC
26e0: 68 61 6e 67 65 64 28 48 57 4e 44 20 68 50 72 6f hanged(HWND hPro
26f0: 70 53 68 65 65 74 44 6c 67 2c 20 48 57 4e 44 20 pSheetDlg, HWND
2700: 68 77 6e 64 50 61 67 65 29 20 7b 0d 0a 09 53 65 hwndPage) {...Se
2710: 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 ndMessage(hPropS
2720: 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 55 4e 43 heetDlg, PSM_UNC
2730: 48 41 4e 47 45 44 2c 20 63 61 73 74 28 57 50 41 HANGED, cast(WPA
2740: 52 41 4d 29 20 68 77 6e 64 50 61 67 65 2c 20 30 RAM) hwndPage, 0
2750: 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 50 72 );..}....BOOL Pr
2760: 6f 70 53 68 65 65 74 5f 41 70 70 6c 79 28 48 57 opSheet_Apply(HW
2770: 4e 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67 ND hPropSheetDlg
2780: 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 ) {...return cas
2790: 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 t(BOOL) SendMess
27a0: 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44 6c age(hPropSheetDl
27b0: 67 2c 20 50 53 4d 5f 41 50 50 4c 59 2c 20 30 2c g, PSM_APPLY, 0,
27c0: 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 0);..}....VOID
27d0: 50 72 6f 70 53 68 65 65 74 5f 53 65 74 54 69 74 PropSheet_SetTit
27e0: 6c 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 le(HWND hPropShe
27f0: 65 74 44 6c 67 2c 20 44 57 4f 52 44 20 77 53 74 etDlg, DWORD wSt
2800: 79 6c 65 2c 20 4c 50 54 53 54 52 20 6c 70 73 7a yle, LPTSTR lpsz
2810: 54 65 78 74 29 20 7b 0d 0a 09 53 65 6e 64 4d 65 Text) {...SendMe
2820: 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 ssage(hPropSheet
2830: 44 6c 67 2c 20 50 53 4d 5f 53 45 54 54 49 54 4c Dlg, PSM_SETTITL
2840: 45 2c 20 77 53 74 79 6c 65 2c 20 63 61 73 74 28 E, wStyle, cast(
2850: 4c 50 41 52 41 4d 29 20 6c 70 73 7a 54 65 78 74 LPARAM) lpszText
2860: 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 );..}....VOID Pr
2870: 6f 70 53 68 65 65 74 5f 53 65 74 57 69 7a 42 75 opSheet_SetWizBu
2880: 74 74 6f 6e 73 28 48 57 4e 44 20 68 50 72 6f 70 ttons(HWND hProp
2890: 53 68 65 65 74 44 6c 67 2c 20 44 57 4f 52 44 20 SheetDlg, DWORD
28a0: 64 77 46 6c 61 67 73 29 20 7b 0d 0a 09 50 6f 73 dwFlags) {...Pos
28b0: 74 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 tMessage(hPropSh
28c0: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 53 45 54 57 eetDlg, PSM_SETW
28d0: 49 5a 42 55 54 54 4f 4e 53 2c 20 30 2c 20 63 61 IZBUTTONS, 0, ca
28e0: 73 74 28 4c 50 41 52 41 4d 29 20 64 77 46 6c 61 st(LPARAM) dwFla
28f0: 67 73 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 gs);..}....BOOL
2900: 50 72 6f 70 53 68 65 65 74 5f 50 72 65 73 73 42 PropSheet_PressB
2910: 75 74 74 6f 6e 28 48 57 4e 44 20 68 50 72 6f 70 utton(HWND hProp
2920: 53 68 65 65 74 44 6c 67 2c 20 69 6e 74 20 69 42 SheetDlg, int iB
2930: 75 74 74 6f 6e 29 20 7b 0d 0a 09 72 65 74 75 72 utton) {...retur
2940: 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e n cast(BOOL) Sen
2950: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 dMessage(hPropSh
2960: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 50 52 45 53 eetDlg, PSM_PRES
2970: 53 42 55 54 54 4f 4e 2c 20 69 42 75 74 74 6f 6e SBUTTON, iButton
2980: 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c , 0);..}....BOOL
2990: 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75 PropSheet_SetCu
29a0: 72 53 65 6c 42 79 49 44 28 48 57 4e 44 20 68 50 rSelByID(HWND hP
29b0: 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 69 6e 74 ropSheetDlg, int
29c0: 20 69 64 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 id) {...return
29d0: 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d cast(BOOL) SendM
29e0: 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 essage(hPropShee
29f0: 74 44 6c 67 2c 20 50 53 4d 5f 53 45 54 43 55 52 tDlg, PSM_SETCUR
2a00: 53 45 4c 49 44 2c 20 30 2c 20 69 64 29 3b 0d 0a SELID, 0, id);..
2a10: 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f 70 53 68 }....VOID PropSh
2a20: 65 65 74 5f 53 65 74 46 69 6e 69 73 68 54 65 78 eet_SetFinishTex
2a30: 74 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 65 t(HWND hPropShee
2a40: 74 44 6c 67 2c 20 4c 50 54 53 54 52 20 6c 70 73 tDlg, LPTSTR lps
2a50: 7a 54 65 78 74 29 20 7b 0d 0a 09 53 65 6e 64 4d zText) {...SendM
2a60: 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 essage(hPropShee
2a70: 74 44 6c 67 2c 20 50 53 4d 5f 53 45 54 46 49 4e tDlg, PSM_SETFIN
2a80: 49 53 48 54 45 58 54 2c 20 30 2c 20 63 61 73 74 ISHTEXT, 0, cast
2a90: 28 4c 50 41 52 41 4d 29 20 6c 70 73 7a 54 65 78 (LPARAM) lpszTex
2aa0: 74 29 3b 0d 0a 7d 0d 0a 0d 0a 48 57 4e 44 20 50 t);..}....HWND P
2ab0: 72 6f 70 53 68 65 65 74 5f 47 65 74 54 61 62 43 ropSheet_GetTabC
2ac0: 6f 6e 74 72 6f 6c 28 48 57 4e 44 20 68 50 72 6f ontrol(HWND hPro
2ad0: 70 53 68 65 65 74 44 6c 67 29 20 7b 0d 0a 09 72 pSheetDlg) {...r
2ae0: 65 74 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29 eturn cast(HWND)
2af0: 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 SendMessage(hPr
2b00: 6f 70 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f opSheetDlg, PSM_
2b10: 47 45 54 54 41 42 43 4f 4e 54 52 4f 4c 2c 20 30 GETTABCONTROL, 0
2b20: 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c , 0);..}....BOOL
2b30: 20 50 72 6f 70 53 68 65 65 74 5f 49 73 44 69 61 PropSheet_IsDia
2b40: 6c 6f 67 4d 65 73 73 61 67 65 28 48 57 4e 44 20 logMessage(HWND
2b50: 68 44 6c 67 2c 20 4c 50 4d 53 47 20 70 4d 73 67 hDlg, LPMSG pMsg
2b60: 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 ) {...return cas
2b70: 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 t(BOOL) SendMess
2b80: 61 67 65 28 68 44 6c 67 2c 20 50 53 4d 5f 49 53 age(hDlg, PSM_IS
2b90: 44 49 41 4c 4f 47 4d 45 53 53 41 47 45 2c 0d 0a DIALOGMESSAGE,..
2ba0: 09 20 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 . 0, cast(LPARA
2bb0: 4d 29 20 70 4d 73 67 29 3b 0d 0a 7d 0d 0a 0d 0a M) pMsg);..}....
2bc0: 48 57 4e 44 20 50 72 6f 70 53 68 65 65 74 5f 47 HWND PropSheet_G
2bd0: 65 74 43 75 72 72 65 6e 74 50 61 67 65 48 77 6e etCurrentPageHwn
2be0: 64 28 48 57 4e 44 20 68 44 6c 67 29 20 7b 0d 0a d(HWND hDlg) {..
2bf0: 09 72 65 74 75 72 6e 20 63 61 73 74 28 48 57 4e .return cast(HWN
2c00: 44 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 D) SendMessage(h
2c10: 44 6c 67 2c 20 50 53 4d 5f 47 45 54 43 55 52 52 Dlg, PSM_GETCURR
2c20: 45 4e 54 50 41 47 45 48 57 4e 44 2c 20 30 2c 20 ENTPAGEHWND, 0,
2c30: 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 50 0);..}....BOOL P
2c40: 72 6f 70 53 68 65 65 74 5f 49 6e 73 65 72 74 50 ropSheet_InsertP
2c50: 61 67 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 age(HWND hPropSh
2c60: 65 65 74 44 6c 67 2c 20 57 50 41 52 41 4d 20 77 eetDlg, WPARAM w
2c70: 49 6e 73 65 72 74 41 66 74 65 72 2c 0d 0a 09 20 InsertAfter,...
2c80: 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 20 HPROPSHEETPAGE
2c90: 68 70 61 67 65 29 20 7b 0d 0a 09 72 65 74 75 72 hpage) {...retur
2ca0: 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e n cast(BOOL) Sen
2cb0: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 dMessage(hPropSh
2cc0: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 49 4e 53 45 eetDlg, PSM_INSE
2cd0: 52 54 50 41 47 45 2c 0d 0a 09 20 20 77 49 6e 73 RTPAGE,... wIns
2ce0: 65 72 74 41 66 74 65 72 2c 20 63 61 73 74 28 4c ertAfter, cast(L
2cf0: 50 41 52 41 4d 29 20 68 70 61 67 65 29 3b 0d 0a PARAM) hpage);..
2d00: 7d 0d 0a }..