Hex Artifact Content

Not logged in

Artifact d175d0f84ae4026017b74e1b50ab8355323c3f63:


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