Hex Artifact Content

Not logged in

Artifact 11c80dc8e4f04de3c037c32f9690d2c57b3642a9:


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 0a 2a 20 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 70 72 73 68 74             prsht
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .d              
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 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 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 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: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 62 79 20 56 6c 61 64 69          by Vladi
01e0: 6d 69 72 20 56 6c 61 73 6f 76 20 20 20 20 20 20  mir Vlasov      
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 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 2a 0a                *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69          Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69  nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a          *.\*****
02a0: 2a 2a 2a 2a 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 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32  **/.module win32
02f0: 2e 70 72 73 68 74 3b 0a 70 72 61 67 6d 61 28 6c  .prsht;.pragma(l
0300: 69 62 2c 20 22 63 6f 6d 63 74 6c 33 32 2e 6c 69  ib, "comctl32.li
0310: 62 22 29 3b 0a 0a 70 72 69 76 61 74 65 20 69 6d  b");..private im
0320: 70 6f 72 74 20 77 69 6e 33 32 2e 77 33 32 61 70  port win32.w32ap
0330: 69 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 2c  i, win32.windef,
0340: 20 77 69 6e 33 32 2e 77 69 6e 75 73 65 72 3b 0a   win32.winuser;.
0350: 0a 63 6f 6e 73 74 20 4d 41 58 50 52 4f 50 50 41  .const MAXPROPPA
0360: 47 45 53 20 3d 20 31 30 30 3b 0a 0a 65 6e 75 6d  GES = 100;..enum
0370: 20 7b 0a 09 50 53 50 5f 44 45 46 41 55 4c 54 20   {..PSP_DEFAULT 
0380: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
0390: 30 2c 0a 09 50 53 50 5f 44 4c 47 49 4e 44 49 52  0,..PSP_DLGINDIR
03a0: 45 43 54 20 20 3d 20 30 78 30 30 30 30 30 30 30  ECT  = 0x0000000
03b0: 31 2c 0a 09 50 53 50 5f 55 53 45 48 49 43 4f 4e  1,..PSP_USEHICON
03c0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
03d0: 32 2c 0a 09 50 53 50 5f 55 53 45 49 43 4f 4e 49  2,..PSP_USEICONI
03e0: 44 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30  D    = 0x0000000
03f0: 34 2c 0a 09 50 53 50 5f 55 53 45 54 49 54 4c 45  4,..PSP_USETITLE
0400: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
0410: 38 2c 0a 09 50 53 50 5f 52 54 4c 52 45 41 44 49  8,..PSP_RTLREADI
0420: 4e 47 20 20 20 3d 20 30 78 30 30 30 30 30 30 31  NG   = 0x0000001
0430: 30 2c 0a 09 50 53 50 5f 48 41 53 48 45 4c 50 20  0,..PSP_HASHELP 
0440: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 32       = 0x0000002
0450: 30 2c 0a 09 50 53 50 5f 55 53 45 52 45 46 50 41  0,..PSP_USEREFPA
0460: 52 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 34  RENT = 0x0000004
0470: 30 2c 0a 09 50 53 50 5f 55 53 45 43 41 4c 4c 42  0,..PSP_USECALLB
0480: 41 43 4b 20 20 3d 20 30 78 30 30 30 30 30 30 38  ACK  = 0x0000008
0490: 30 2c 0a 09 50 53 50 5f 50 52 45 4d 41 54 55 52  0,..PSP_PREMATUR
04a0: 45 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 30  E    = 0x0000040
04b0: 30 0a 7d 0a 0a 73 74 61 74 69 63 20 69 66 20 28  0.}..static if (
04c0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
04d0: 34 30 30 29 20 7b 0a 09 65 6e 75 6d 20 7b 0a 09  400) {..enum {..
04e0: 09 50 53 50 5f 48 49 44 45 48 45 41 44 45 52 20  .PSP_HIDEHEADER 
04f0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
0500: 38 30 30 2c 0a 09 09 50 53 50 5f 55 53 45 48 45  800,...PSP_USEHE
0510: 41 44 45 52 54 49 54 4c 45 20 20 20 20 3d 20 30  ADERTITLE    = 0
0520: 78 30 30 30 30 31 30 30 30 2c 0a 09 09 50 53 50  x00001000,...PSP
0530: 5f 55 53 45 48 45 41 44 45 52 53 55 42 54 49 54  _USEHEADERSUBTIT
0540: 4c 45 20 3d 20 30 78 30 30 30 30 32 30 30 30 0a  LE = 0x00002000.
0550: 09 7d 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a 09 50 53  .}.}..enum {..PS
0560: 50 43 42 5f 52 45 4c 45 41 53 45 20 3d 20 31 2c  PCB_RELEASE = 1,
0570: 0a 09 50 53 50 43 42 5f 43 52 45 41 54 45 0a 7d  ..PSPCB_CREATE.}
0580: 0a 0a 65 6e 75 6d 20 7b 0a 09 50 53 48 5f 44 45  ..enum {..PSH_DE
0590: 46 41 55 4c 54 20 20 20 20 20 20 20 20 20 20 20  FAULT           
05a0: 3d 20 30 78 30 30 30 30 30 30 30 30 2c 0a 09 50  = 0x00000000,..P
05b0: 53 48 5f 50 52 4f 50 54 49 54 4c 45 20 20 20 20  SH_PROPTITLE    
05c0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
05d0: 31 2c 0a 09 50 53 48 5f 55 53 45 48 49 43 4f 4e  1,..PSH_USEHICON
05e0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
05f0: 30 30 30 30 30 32 2c 0a 09 50 53 48 5f 55 53 45  000002,..PSH_USE
0600: 49 43 4f 4e 49 44 20 20 20 20 20 20 20 20 20 3d  ICONID         =
0610: 20 30 78 30 30 30 30 30 30 30 34 2c 0a 09 50 53   0x00000004,..PS
0620: 48 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 20  H_PROPSHEETPAGE 
0630: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 38      = 0x00000008
0640: 2c 0a 09 50 53 48 5f 57 49 5a 41 52 44 48 41 53  ,..PSH_WIZARDHAS
0650: 46 49 4e 49 53 48 20 20 20 3d 20 30 78 30 30 30  FINISH   = 0x000
0660: 30 30 30 31 30 2c 0a 09 50 53 48 5f 57 49 5a 41  00010,..PSH_WIZA
0670: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  RD            = 
0680: 30 78 30 30 30 30 30 30 32 30 2c 0a 09 50 53 48  0x00000020,..PSH
0690: 5f 55 53 45 50 53 54 41 52 54 50 41 47 45 20 20  _USEPSTARTPAGE  
06a0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 34 30 2c     = 0x00000040,
06b0: 0a 09 50 53 48 5f 4e 4f 41 50 50 4c 59 4e 4f 57  ..PSH_NOAPPLYNOW
06c0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30          = 0x0000
06d0: 30 30 38 30 2c 0a 09 50 53 48 5f 55 53 45 43 41  0080,..PSH_USECA
06e0: 4c 4c 42 41 43 4b 20 20 20 20 20 20 20 3d 20 30  LLBACK       = 0
06f0: 78 30 30 30 30 30 31 30 30 2c 0a 09 50 53 48 5f  x00000100,..PSH_
0700: 48 41 53 48 45 4c 50 20 20 20 20 20 20 20 20 20  HASHELP         
0710: 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c 0a    = 0x00000200,.
0720: 09 50 53 48 5f 4d 4f 44 45 4c 45 53 53 20 20 20  .PSH_MODELESS   
0730: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30         = 0x00000
0740: 34 30 30 2c 0a 09 50 53 48 5f 52 54 4c 52 45 41  400,..PSH_RTLREA
0750: 44 49 4e 47 20 20 20 20 20 20 20 20 3d 20 30 78  DING        = 0x
0760: 30 30 30 30 30 38 30 30 2c 0a 09 50 53 48 5f 57  00000800,..PSH_W
0770: 49 5a 41 52 44 43 4f 4e 54 45 58 54 48 45 4c 50  IZARDCONTEXTHELP
0780: 20 3d 20 30 78 30 30 30 30 31 30 30 30 0a 7d 0a   = 0x00001000.}.
0790: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
07a0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
07b0: 20 7b 0a 09 65 6e 75 6d 20 7b 0a 09 09 50 53 48   {..enum {...PSH
07c0: 5f 57 41 54 45 52 4d 41 52 4b 20 20 20 20 20 20  _WATERMARK      
07d0: 20 20 3d 20 30 78 30 30 30 30 38 30 30 30 2c 0a    = 0x00008000,.
07e0: 09 09 50 53 48 5f 55 53 45 48 42 4d 57 41 54 45  ..PSH_USEHBMWATE
07f0: 52 4d 41 52 4b 20 20 3d 20 30 78 30 30 30 31 30  RMARK  = 0x00010
0800: 30 30 30 2c 0a 09 09 50 53 48 5f 55 53 45 48 50  000,...PSH_USEHP
0810: 4c 57 41 54 45 52 4d 41 52 4b 20 20 3d 20 30 78  LWATERMARK  = 0x
0820: 30 30 30 32 30 30 30 30 2c 0a 09 09 50 53 48 5f  00020000,...PSH_
0830: 53 54 52 45 54 43 48 57 41 54 45 52 4d 41 52 4b  STRETCHWATERMARK
0840: 20 3d 20 30 78 30 30 30 34 30 30 30 30 2c 0a 09   = 0x00040000,..
0850: 09 50 53 48 5f 48 45 41 44 45 52 20 20 20 20 20  .PSH_HEADER     
0860: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 30 30        = 0x000800
0870: 30 30 2c 0a 09 09 50 53 48 5f 55 53 45 48 42 4d  00,...PSH_USEHBM
0880: 48 45 41 44 45 52 20 20 20 20 20 3d 20 30 78 30  HEADER     = 0x0
0890: 30 31 30 30 30 30 30 2c 0a 09 09 50 53 48 5f 55  0100000,...PSH_U
08a0: 53 45 50 41 47 45 4c 41 4e 47 20 20 20 20 20 20  SEPAGELANG      
08b0: 3d 20 30 78 30 30 32 30 30 30 30 30 0a 09 7d 0a  = 0x00200000..}.
08c0: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
08d0: 33 32 5f 49 45 20 3c 20 30 78 30 35 30 30 29 20  32_IE < 0x0500) 
08e0: 7b 0a 09 09 65 6e 75 6d 20 7b 0a 09 09 09 50 53  {...enum {....PS
08f0: 48 5f 57 49 5a 41 52 44 39 37 20 3d 20 30 78 30  H_WIZARD97 = 0x0
0900: 30 30 30 32 30 30 30 0a 09 09 7d 0a 09 7d 20 65  0002000...}..} e
0910: 6c 73 65 20 7b 0a 09 09 65 6e 75 6d 20 7b 0a 09  lse {...enum {..
0920: 09 09 50 53 48 5f 57 49 5a 41 52 44 39 37 20 3d  ..PSH_WIZARD97 =
0930: 20 30 78 30 31 30 30 30 30 30 30 0a 09 09 7d 0a   0x01000000...}.
0940: 09 7d 0a 7d 0a 0a 73 74 61 74 69 63 20 69 66 20  .}.}..static if 
0950: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
0960: 30 35 30 30 29 20 7b 0a 09 65 6e 75 6d 20 7b 0a  0500) {..enum {.
0970: 09 09 50 53 48 5f 57 49 5a 41 52 44 5f 4c 49 54  ..PSH_WIZARD_LIT
0980: 45 20 20 20 3d 20 30 78 30 30 34 30 30 30 30 30  E   = 0x00400000
0990: 2c 0a 09 09 50 53 48 5f 4e 4f 43 4f 4e 54 45 58  ,...PSH_NOCONTEX
09a0: 54 48 45 4c 50 20 3d 20 30 78 30 32 30 30 30 30  THELP = 0x020000
09b0: 30 30 0a 09 7d 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a  00..}.}..enum {.
09c0: 09 50 53 43 42 5f 49 4e 49 54 49 41 4c 49 5a 45  .PSCB_INITIALIZE
09d0: 44 20 3d 20 31 2c 0a 09 50 53 43 42 5f 50 52 45  D = 1,..PSCB_PRE
09e0: 43 52 45 41 54 45 0a 7d 0a 0a 65 6e 75 6d 20 7b  CREATE.}..enum {
09f0: 0a 09 50 53 4e 5f 46 49 52 53 54 20 20 20 20 20  ..PSN_FIRST     
0a00: 20 20 3d 20 28 2d 32 30 30 29 2c 0a 09 50 53 4e    = (-200),..PSN
0a10: 5f 4c 41 53 54 20 20 20 20 20 20 20 20 3d 20 28  _LAST        = (
0a20: 2d 32 39 39 29 2c 0a 09 50 53 4e 5f 53 45 54 41  -299),..PSN_SETA
0a30: 43 54 49 56 45 20 20 20 3d 20 28 2d 32 30 30 29  CTIVE   = (-200)
0a40: 2c 0a 09 50 53 4e 5f 4b 49 4c 4c 41 43 54 49 56  ,..PSN_KILLACTIV
0a50: 45 20 20 3d 20 28 2d 32 30 31 29 2c 0a 09 50 53  E  = (-201),..PS
0a60: 4e 5f 41 50 50 4c 59 20 20 20 20 20 20 20 3d 20  N_APPLY       = 
0a70: 28 2d 32 30 32 29 2c 0a 09 50 53 4e 5f 52 45 53  (-202),..PSN_RES
0a80: 45 54 20 20 20 20 20 20 20 3d 20 28 2d 32 30 33  ET       = (-203
0a90: 29 2c 0a 09 50 53 4e 5f 48 45 4c 50 20 20 20 20  ),..PSN_HELP    
0aa0: 20 20 20 20 3d 20 28 2d 32 30 35 29 2c 0a 09 50      = (-205),..P
0ab0: 53 4e 5f 57 49 5a 42 41 43 4b 20 20 20 20 20 3d  SN_WIZBACK     =
0ac0: 20 28 2d 32 30 36 29 2c 0a 09 50 53 4e 5f 57 49   (-206),..PSN_WI
0ad0: 5a 4e 45 58 54 20 20 20 20 20 3d 20 28 2d 32 30  ZNEXT     = (-20
0ae0: 37 29 2c 0a 09 50 53 4e 5f 57 49 5a 46 49 4e 49  7),..PSN_WIZFINI
0af0: 53 48 20 20 20 3d 20 28 2d 32 30 38 29 2c 0a 09  SH   = (-208),..
0b00: 50 53 4e 5f 51 55 45 52 59 43 41 4e 43 45 4c 20  PSN_QUERYCANCEL 
0b10: 3d 20 28 2d 32 30 39 29 0a 7d 0a 73 74 61 74 69  = (-209).}.stati
0b20: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20  c if (_WIN32_IE 
0b30: 3e 3d 20 30 78 30 34 30 30 29 20 7b 0a 09 65 6e  >= 0x0400) {..en
0b40: 75 6d 20 7b 0a 09 09 50 53 4e 5f 47 45 54 4f 42  um {...PSN_GETOB
0b50: 4a 45 43 54 20 3d 20 28 2d 32 31 30 29 0a 09 7d  JECT = (-210)..}
0b60: 0a 7d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  .}.static if (_W
0b70: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30  IN32_IE >= 0x050
0b80: 30 29 20 7b 0a 09 65 6e 75 6d 20 7b 0a 09 09 50  0) {..enum {...P
0b90: 53 4e 5f 54 52 41 4e 53 4c 41 54 45 41 43 43 45  SN_TRANSLATEACCE
0ba0: 4c 45 52 41 54 4f 52 20 3d 20 28 2d 32 31 32 29  LERATOR = (-212)
0bb0: 2c 0a 09 09 50 53 4e 5f 51 55 45 52 59 49 4e 49  ,...PSN_QUERYINI
0bc0: 54 49 41 4c 46 4f 43 55 53 20 20 20 20 3d 20 28  TIALFOCUS    = (
0bd0: 2d 32 31 33 29 0a 09 7d 0a 7d 0a 0a 65 6e 75 6d  -213)..}.}..enum
0be0: 20 7b 0a 09 50 53 4e 52 45 54 5f 4e 4f 45 52 52   {..PSNRET_NOERR
0bf0: 4f 52 2c 0a 09 50 53 4e 52 45 54 5f 49 4e 56 41  OR,..PSNRET_INVA
0c00: 4c 49 44 2c 0a 09 50 53 4e 52 45 54 5f 49 4e 56  LID,..PSNRET_INV
0c10: 41 4c 49 44 5f 4e 4f 43 48 41 4e 47 45 50 41 47  ALID_NOCHANGEPAG
0c20: 45 2c 0a 09 50 53 4e 52 45 54 5f 4d 45 53 53 41  E,..PSNRET_MESSA
0c30: 47 45 48 41 4e 44 4c 45 44 0a 7d 0a 0a 65 6e 75  GEHANDLED.}..enu
0c40: 6d 20 7b 0a 09 49 44 5f 50 53 52 45 53 54 41 52  m {..ID_PSRESTAR
0c50: 54 57 49 4e 44 4f 57 53 20 3d 20 30 78 32 2c 0a  TWINDOWS = 0x2,.
0c60: 09 49 44 5f 50 53 52 45 42 4f 4f 54 53 59 53 54  .ID_PSREBOOTSYST
0c70: 45 4d 20 20 20 3d 20 49 44 5f 50 53 52 45 53 54  EM   = ID_PSREST
0c80: 41 52 54 57 49 4e 44 4f 57 53 20 7c 20 30 78 31  ARTWINDOWS | 0x1
0c90: 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a 09 57 49 5a 5f  .}..enum {..WIZ_
0ca0: 43 58 44 4c 47 20 20 3d 20 32 37 36 2c 0a 09 57  CXDLG  = 276,..W
0cb0: 49 5a 5f 43 59 44 4c 47 20 20 3d 20 31 34 30 2c  IZ_CYDLG  = 140,
0cc0: 0a 09 57 49 5a 5f 43 58 42 4d 50 20 20 3d 20 38  ..WIZ_CXBMP  = 8
0cd0: 30 2c 0a 09 57 49 5a 5f 42 4f 44 59 58 20 20 3d  0,..WIZ_BODYX  =
0ce0: 20 39 32 2c 0a 09 57 49 5a 5f 42 4f 44 59 43 58   92,..WIZ_BODYCX
0cf0: 20 3d 20 31 38 34 0a 7d 0a 0a 65 6e 75 6d 20 7b   = 184.}..enum {
0d00: 0a 09 50 52 4f 50 5f 53 4d 5f 43 58 44 4c 47 20  ..PROP_SM_CXDLG 
0d10: 20 3d 20 32 31 32 2c 0a 09 50 52 4f 50 5f 53 4d   = 212,..PROP_SM
0d20: 5f 43 59 44 4c 47 20 20 3d 20 31 38 38 2c 0a 09  _CYDLG  = 188,..
0d30: 50 52 4f 50 5f 4d 45 44 5f 43 58 44 4c 47 20 3d  PROP_MED_CXDLG =
0d40: 20 32 32 37 2c 0a 09 50 52 4f 50 5f 4d 45 44 5f   227,..PROP_MED_
0d50: 43 59 44 4c 47 20 3d 20 32 31 35 2c 0a 09 50 52  CYDLG = 215,..PR
0d60: 4f 50 5f 4c 47 5f 43 58 44 4c 47 20 20 3d 20 32  OP_LG_CXDLG  = 2
0d70: 35 32 2c 0a 09 50 52 4f 50 5f 4c 47 5f 43 59 44  52,..PROP_LG_CYD
0d80: 4c 47 20 20 3d 20 32 31 38 0a 7d 0a 0a 65 6e 75  LG  = 218.}..enu
0d90: 6d 20 7b 0a 09 50 53 42 54 4e 5f 42 41 43 4b 2c  m {..PSBTN_BACK,
0da0: 0a 09 50 53 42 54 4e 5f 4e 45 58 54 2c 0a 09 50  ..PSBTN_NEXT,..P
0db0: 53 42 54 4e 5f 46 49 4e 49 53 48 2c 0a 09 50 53  SBTN_FINISH,..PS
0dc0: 42 54 4e 5f 4f 4b 2c 0a 09 50 53 42 54 4e 5f 41  BTN_OK,..PSBTN_A
0dd0: 50 50 4c 59 4e 4f 57 2c 0a 09 50 53 42 54 4e 5f  PPLYNOW,..PSBTN_
0de0: 43 41 4e 43 45 4c 2c 0a 09 50 53 42 54 4e 5f 48  CANCEL,..PSBTN_H
0df0: 45 4c 50 2c 0a 09 50 53 42 54 4e 5f 4d 41 58 20  ELP,..PSBTN_MAX 
0e00: 3d 20 36 0a 7d 0a 0a 65 6e 75 6d 20 7b 0a 09 50  = 6.}..enum {..P
0e10: 53 57 49 5a 42 5f 42 41 43 4b 20 20 20 20 20 20  SWIZB_BACK      
0e20: 20 20 20 20 20 3d 20 31 2c 0a 09 50 53 57 49 5a       = 1,..PSWIZ
0e30: 42 5f 4e 45 58 54 20 20 20 20 20 20 20 20 20 20  B_NEXT          
0e40: 20 3d 20 32 2c 0a 09 50 53 57 49 5a 42 5f 46 49   = 2,..PSWIZB_FI
0e50: 4e 49 53 48 20 20 20 20 20 20 20 20 20 3d 20 34  NISH         = 4
0e60: 2c 0a 09 50 53 57 49 5a 42 5f 44 49 53 41 42 4c  ,..PSWIZB_DISABL
0e70: 45 44 46 49 4e 49 53 48 20 3d 20 38 0a 7d 0a 0a  EDFINISH = 8.}..
0e80: 65 6e 75 6d 20 7b 0a 09 50 53 4d 5f 53 45 54 43  enum {..PSM_SETC
0e90: 55 52 53 45 4c 20 3d 20 57 4d 5f 55 53 45 52 20  URSEL = WM_USER 
0ea0: 2b 20 31 30 31 2c 0a 09 50 53 4d 5f 52 45 4d 4f  + 101,..PSM_REMO
0eb0: 56 45 50 41 47 45 2c 0a 09 50 53 4d 5f 41 44 44  VEPAGE,..PSM_ADD
0ec0: 50 41 47 45 2c 0a 09 50 53 4d 5f 43 48 41 4e 47  PAGE,..PSM_CHANG
0ed0: 45 44 2c 0a 09 50 53 4d 5f 52 45 53 54 41 52 54  ED,..PSM_RESTART
0ee0: 57 49 4e 44 4f 57 53 2c 0a 09 50 53 4d 5f 52 45  WINDOWS,..PSM_RE
0ef0: 42 4f 4f 54 53 59 53 54 45 4d 2c 0a 09 50 53 4d  BOOTSYSTEM,..PSM
0f00: 5f 43 41 4e 43 45 4c 54 4f 43 4c 4f 53 45 2c 0a  _CANCELTOCLOSE,.
0f10: 09 50 53 4d 5f 51 55 45 52 59 53 49 42 4c 49 4e  .PSM_QUERYSIBLIN
0f20: 47 53 2c 0a 09 50 53 4d 5f 55 4e 43 48 41 4e 47  GS,..PSM_UNCHANG
0f30: 45 44 2c 0a 09 50 53 4d 5f 41 50 50 4c 59 2c 0a  ED,..PSM_APPLY,.
0f40: 09 50 53 4d 5f 53 45 54 54 49 54 4c 45 41 2c 0a  .PSM_SETTITLEA,.
0f50: 09 50 53 4d 5f 53 45 54 57 49 5a 42 55 54 54 4f  .PSM_SETWIZBUTTO
0f60: 4e 53 2c 0a 09 50 53 4d 5f 50 52 45 53 53 42 55  NS,..PSM_PRESSBU
0f70: 54 54 4f 4e 2c 0a 09 50 53 4d 5f 53 45 54 43 55  TTON,..PSM_SETCU
0f80: 52 53 45 4c 49 44 2c 0a 09 50 53 4d 5f 53 45 54  RSELID,..PSM_SET
0f90: 46 49 4e 49 53 48 54 45 58 54 41 2c 0a 09 50 53  FINISHTEXTA,..PS
0fa0: 4d 5f 47 45 54 54 41 42 43 4f 4e 54 52 4f 4c 2c  M_GETTABCONTROL,
0fb0: 0a 09 50 53 4d 5f 49 53 44 49 41 4c 4f 47 4d 45  ..PSM_ISDIALOGME
0fc0: 53 53 41 47 45 2c 0a 09 50 53 4d 5f 47 45 54 43  SSAGE,..PSM_GETC
0fd0: 55 52 52 45 4e 54 50 41 47 45 48 57 4e 44 2c 0a  URRENTPAGEHWND,.
0fe0: 09 50 53 4d 5f 49 4e 53 45 52 54 50 41 47 45 2c  .PSM_INSERTPAGE,
0ff0: 0a 09 50 53 4d 5f 53 45 54 54 49 54 4c 45 57 2c  ..PSM_SETTITLEW,
1000: 0a 09 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54  ..PSM_SETFINISHT
1010: 45 58 54 57 20 2f 2f 20 3d 20 57 4d 5f 55 53 45  EXTW // = WM_USE
1020: 52 20 2b 20 31 32 31 2c 0a 7d 0a 0a 61 6c 69 61  R + 121,.}..alia
1030: 73 20 55 49 4e 54 20 66 75 6e 63 74 69 6f 6e 28  s UINT function(
1040: 48 57 4e 44 2c 20 55 49 4e 54 2c 20 4c 50 50 52  HWND, UINT, LPPR
1050: 4f 50 53 48 45 45 54 50 41 47 45 41 29 20 4c 50  OPSHEETPAGEA) LP
1060: 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 41 3b 0a  FNPSPCALLBACKA;.
1070: 61 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63 74  alias UINT funct
1080: 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20  ion(HWND, UINT, 
1090: 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57  LPPROPSHEETPAGEW
10a0: 29 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43  ) LPFNPSPCALLBAC
10b0: 4b 57 3b 0a 61 6c 69 61 73 20 69 6e 74 20 66 75  KW;.alias int fu
10c0: 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e  nction(HWND, UIN
10d0: 54 2c 20 4c 50 41 52 41 4d 29 20 50 46 4e 50 52  T, LPARAM) PFNPR
10e0: 4f 50 53 48 45 45 54 43 41 4c 4c 42 41 43 4b 3b  OPSHEETCALLBACK;
10f0: 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 0a 73 74 72  ..align(4):..str
1100: 75 63 74 20 50 52 4f 50 53 48 45 45 54 50 41 47  uct PROPSHEETPAG
1110: 45 41 20 7b 0a 09 44 57 4f 52 44 20 64 77 53 69  EA {..DWORD dwSi
1120: 7a 65 20 3d 20 50 52 4f 50 53 48 45 45 54 50 41  ze = PROPSHEETPA
1130: 47 45 41 2e 73 69 7a 65 6f 66 3b 0a 09 44 57 4f  GEA.sizeof;..DWO
1140: 52 44 20 64 77 46 6c 61 67 73 3b 0a 09 48 49 4e  RD dwFlags;..HIN
1150: 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
1160: 3b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 4c 50 43  ;..union {...LPC
1170: 53 54 52 20 20 20 20 20 20 20 20 20 70 73 7a 54  STR         pszT
1180: 65 6d 70 6c 61 74 65 3b 0a 09 09 4c 50 43 44 4c  emplate;...LPCDL
1190: 47 54 45 4d 50 4c 41 54 45 20 70 52 65 73 6f 75  GTEMPLATE pResou
11a0: 72 63 65 3b 0a 09 7d 0a 09 75 6e 69 6f 6e 20 7b  rce;..}..union {
11b0: 0a 09 09 48 49 43 4f 4e 20 20 68 49 63 6f 6e 3b  ...HICON  hIcon;
11c0: 0a 09 09 4c 50 43 53 54 52 20 70 73 7a 49 63 6f  ...LPCSTR pszIco
11d0: 6e 3b 0a 09 7d 0a 09 4c 50 43 53 54 52 20 20 70  n;..}..LPCSTR  p
11e0: 73 7a 54 69 74 6c 65 3b 0a 09 44 4c 47 50 52 4f  szTitle;..DLGPRO
11f0: 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b 0a 09 4c  C pfnDlgProc;..L
1200: 50 41 52 41 4d 20 20 6c 50 61 72 61 6d 3b 0a 09  PARAM  lParam;..
1210: 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 41  LPFNPSPCALLBACKA
1220: 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0a 09 55   pfnCallback;..U
1230: 49 4e 54 2a 20 20 20 20 20 70 63 52 65 66 50 61  INT*     pcRefPa
1240: 72 65 6e 74 3b 0a 09 73 74 61 74 69 63 20 69 66  rent;..static if
1250: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
1260: 78 30 34 30 30 29 20 7b 0a 09 09 4c 50 43 53 54  x0400) {...LPCST
1270: 52 20 70 73 7a 48 65 61 64 65 72 54 69 74 6c 65  R pszHeaderTitle
1280: 3b 0a 09 09 4c 50 43 53 54 52 20 70 73 7a 48 65  ;...LPCSTR pszHe
1290: 61 64 65 72 53 75 62 54 69 74 6c 65 3b 0a 09 7d  aderSubTitle;..}
12a0: 0a 7d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45  .}.alias PROPSHE
12b0: 45 54 50 41 47 45 41 2a 20 20 20 20 20 20 20 4c  ETPAGEA*       L
12c0: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 3b  PPROPSHEETPAGEA;
12d0: 0a 61 6c 69 61 73 20 43 50 74 72 21 28 50 52 4f  .alias CPtr!(PRO
12e0: 50 53 48 45 45 54 50 41 47 45 41 29 20 4c 50 43  PSHEETPAGEA) LPC
12f0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 3b 0a  PROPSHEETPAGEA;.
1300: 0a 73 74 72 75 63 74 20 50 52 4f 50 53 48 45 45  .struct PROPSHEE
1310: 54 50 41 47 45 57 20 7b 0a 09 44 57 4f 52 44 20  TPAGEW {..DWORD 
1320: 20 20 20 20 64 77 53 69 7a 65 20 3d 20 50 52 4f      dwSize = PRO
1330: 50 53 48 45 45 54 50 41 47 45 57 2e 73 69 7a 65  PSHEETPAGEW.size
1340: 6f 66 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64  of;..DWORD     d
1350: 77 46 6c 61 67 73 3b 0a 09 48 49 4e 53 54 41 4e  wFlags;..HINSTAN
1360: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0a 09 75  CE hInstance;..u
1370: 6e 69 6f 6e 20 7b 0a 09 09 4c 50 43 57 53 54 52  nion {...LPCWSTR
1380: 20 20 20 20 20 20 20 20 70 73 7a 54 65 6d 70 6c          pszTempl
1390: 61 74 65 3b 0a 09 09 4c 50 43 44 4c 47 54 45 4d  ate;...LPCDLGTEM
13a0: 50 4c 41 54 45 20 70 52 65 73 6f 75 72 63 65 3b  PLATE pResource;
13b0: 0a 09 7d 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 48  ..}..union {...H
13c0: 49 43 4f 4e 20 20 20 68 49 63 6f 6e 3b 0a 09 09  ICON   hIcon;...
13d0: 4c 50 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b  LPCWSTR pszIcon;
13e0: 0a 09 7d 0a 09 4c 50 43 57 53 54 52 20 20 20 70  ..}..LPCWSTR   p
13f0: 73 7a 54 69 74 6c 65 3b 0a 09 44 4c 47 50 52 4f  szTitle;..DLGPRO
1400: 43 20 20 20 70 66 6e 44 6c 67 50 72 6f 63 3b 0a  C   pfnDlgProc;.
1410: 09 4c 50 41 52 41 4d 20 20 20 20 6c 50 61 72 61  .LPARAM    lPara
1420: 6d 3b 0a 09 4c 50 46 4e 50 53 50 43 41 4c 4c 42  m;..LPFNPSPCALLB
1430: 41 43 4b 57 20 70 66 6e 43 61 6c 6c 62 61 63 6b  ACKW pfnCallback
1440: 3b 0a 09 55 49 4e 54 2a 20 20 20 20 20 70 63 52  ;..UINT*     pcR
1450: 65 66 50 61 72 65 6e 74 3b 0a 09 73 74 61 74 69  efParent;..stati
1460: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20  c if (_WIN32_IE 
1470: 3e 3d 20 30 78 30 34 30 30 29 20 7b 0a 09 09 4c  >= 0x0400) {...L
1480: 50 43 57 53 54 52 20 70 73 7a 48 65 61 64 65 72  PCWSTR pszHeader
1490: 54 69 74 6c 65 3b 0a 09 09 4c 50 43 57 53 54 52  Title;...LPCWSTR
14a0: 20 70 73 7a 48 65 61 64 65 72 53 75 62 54 69 74   pszHeaderSubTit
14b0: 6c 65 3b 0a 09 7d 0a 7d 0a 61 6c 69 61 73 20 50  le;..}.}.alias P
14c0: 52 4f 50 53 48 45 45 54 50 41 47 45 57 2a 20 20  ROPSHEETPAGEW*  
14d0: 20 20 20 20 20 4c 50 50 52 4f 50 53 48 45 45 54       LPPROPSHEET
14e0: 50 41 47 45 57 3b 0a 61 6c 69 61 73 20 43 50 74  PAGEW;.alias CPt
14f0: 72 21 28 50 52 4f 50 53 48 45 45 54 50 41 47 45  r!(PROPSHEETPAGE
1500: 57 29 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50  W) LPCPROPSHEETP
1510: 41 47 45 57 3b 0a 0a 61 6c 69 61 73 20 48 41 4e  AGEW;..alias HAN
1520: 44 4c 45 20 48 50 52 4f 50 53 48 45 45 54 50 41  DLE HPROPSHEETPA
1530: 47 45 3b 0a 0a 73 74 72 75 63 74 20 50 52 4f 50  GE;..struct PROP
1540: 53 48 45 45 54 48 45 41 44 45 52 41 20 7b 0a 09  SHEETHEADERA {..
1550: 44 57 4f 52 44 20 64 77 53 69 7a 65 20 3d 20 50  DWORD dwSize = P
1560: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2e  ROPSHEETHEADERA.
1570: 73 69 7a 65 6f 66 3b 0a 09 44 57 4f 52 44 20 64  sizeof;..DWORD d
1580: 77 46 6c 61 67 73 3b 0a 09 48 57 4e 44 20 20 68  wFlags;..HWND  h
1590: 77 6e 64 50 61 72 65 6e 74 3b 0a 09 48 49 4e 53  wndParent;..HINS
15a0: 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b  TANCE hInstance;
15b0: 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09 48 49 43 4f  ..union {...HICO
15c0: 4e 20 20 20 68 49 63 6f 6e 3b 0a 09 09 4c 50 43  N   hIcon;...LPC
15d0: 53 54 52 20 20 70 73 7a 49 63 6f 6e 3b 0a 09 7d  STR  pszIcon;..}
15e0: 0a 09 4c 50 43 53 54 52 20 70 73 7a 43 61 70 74  ..LPCSTR pszCapt
15f0: 69 6f 6e 3b 0a 09 55 49 4e 54 20 20 20 6e 50 61  ion;..UINT   nPa
1600: 67 65 73 3b 0a 09 75 6e 69 6f 6e 20 7b 0a 09 09  ges;..union {...
1610: 55 49 4e 54 20 20 20 6e 53 74 61 72 74 50 61 67  UINT   nStartPag
1620: 65 3b 0a 09 09 4c 50 43 53 54 52 20 70 53 74 61  e;...LPCSTR pSta
1630: 72 74 50 61 67 65 3b 0a 09 7d 0a 09 75 6e 69 6f  rtPage;..}..unio
1640: 6e 20 7b 0a 09 09 4c 50 43 50 52 4f 50 53 48 45  n {...LPCPROPSHE
1650: 45 54 50 41 47 45 41 20 70 70 73 70 3b 0a 09 09  ETPAGEA ppsp;...
1660: 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 2a 20  HPROPSHEETPAGE* 
1670: 20 20 70 68 70 61 67 65 3b 0a 09 7d 0a 09 50 46    phpage;..}..PF
1680: 4e 50 52 4f 50 53 48 45 45 54 43 41 4c 4c 42 41  NPROPSHEETCALLBA
1690: 43 4b 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0a  CK pfnCallback;.
16a0: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
16b0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
16c0: 20 7b 0a 09 09 75 6e 69 6f 6e 20 7b 0a 09 09 09   {...union {....
16d0: 48 42 49 54 4d 41 50 20 68 62 6d 57 61 74 65 72  HBITMAP hbmWater
16e0: 6d 61 72 6b 3b 0a 09 09 09 4c 50 43 53 54 52 20  mark;....LPCSTR 
16f0: 20 70 73 7a 62 6d 57 61 74 65 72 6d 61 72 6b 3b   pszbmWatermark;
1700: 0a 09 09 7d 0a 09 09 48 50 41 4c 45 54 54 45 20  ...}...HPALETTE 
1710: 68 70 6c 57 61 74 65 72 6d 61 72 6b 3b 0a 09 09  hplWatermark;...
1720: 75 6e 69 6f 6e 20 7b 0a 09 09 09 48 42 49 54 4d  union {....HBITM
1730: 41 50 20 68 62 6d 48 65 61 64 65 72 3b 0a 09 09  AP hbmHeader;...
1740: 09 4c 50 43 53 54 52 20 20 70 73 7a 62 6d 48 65  .LPCSTR  pszbmHe
1750: 61 64 65 72 3b 0a 09 09 7d 0a 09 7d 0a 7d 0a 61  ader;...}..}.}.a
1760: 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 48 45  lias PROPSHEETHE
1770: 41 44 45 52 41 2a 20 20 20 20 20 20 20 4c 50 50  ADERA*       LPP
1780: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 3b  ROPSHEETHEADERA;
1790: 0a 61 6c 69 61 73 20 43 50 74 72 21 28 50 52 4f  .alias CPtr!(PRO
17a0: 50 53 48 45 45 54 48 45 41 44 45 52 41 29 20 4c  PSHEETHEADERA) L
17b0: 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  PCPROPSHEETHEADE
17c0: 52 41 3b 0a 0a 73 74 72 75 63 74 20 50 52 4f 50  RA;..struct PROP
17d0: 53 48 45 45 54 48 45 41 44 45 52 57 20 7b 0a 09  SHEETHEADERW {..
17e0: 44 57 4f 52 44 20 20 20 20 20 64 77 53 69 7a 65  DWORD     dwSize
17f0: 20 3d 20 50 52 4f 50 53 48 45 45 54 48 45 41 44   = PROPSHEETHEAD
1800: 45 52 57 2e 73 69 7a 65 6f 66 3b 0a 09 44 57 4f  ERW.sizeof;..DWO
1810: 52 44 20 20 20 20 20 64 77 46 6c 61 67 73 3b 0a  RD     dwFlags;.
1820: 09 48 57 4e 44 20 20 20 20 20 20 68 77 6e 64 50  .HWND      hwndP
1830: 61 72 65 6e 74 3b 0a 09 48 49 4e 53 54 41 4e 43  arent;..HINSTANC
1840: 45 20 68 49 6e 73 74 61 6e 63 65 3b 0a 09 75 6e  E hInstance;..un
1850: 69 6f 6e 20 7b 0a 09 09 48 49 43 4f 4e 20 20 20  ion {...HICON   
1860: 68 49 63 6f 6e 3b 0a 09 09 4c 50 43 57 53 54 52  hIcon;...LPCWSTR
1870: 20 70 73 7a 49 63 6f 6e 3b 0a 09 7d 0a 09 4c 50   pszIcon;..}..LP
1880: 43 57 53 54 52 20 20 20 70 73 7a 43 61 70 74 69  CWSTR   pszCapti
1890: 6f 6e 3b 0a 09 55 49 4e 54 20 20 20 20 20 20 6e  on;..UINT      n
18a0: 50 61 67 65 73 3b 0a 09 75 6e 69 6f 6e 20 7b 0a  Pages;..union {.
18b0: 09 09 55 49 4e 54 20 20 20 20 6e 53 74 61 72 74  ..UINT    nStart
18c0: 50 61 67 65 3b 0a 09 09 4c 50 43 57 53 54 52 20  Page;...LPCWSTR 
18d0: 70 53 74 61 72 74 50 61 67 65 3b 0a 09 7d 0a 09  pStartPage;..}..
18e0: 75 6e 69 6f 6e 20 7b 0a 09 09 4c 50 43 50 52 4f  union {...LPCPRO
18f0: 50 53 48 45 45 54 50 41 47 45 57 20 70 70 73 70  PSHEETPAGEW ppsp
1900: 3b 0a 09 09 48 50 52 4f 50 53 48 45 45 54 50 41  ;...HPROPSHEETPA
1910: 47 45 2a 20 20 20 70 68 70 61 67 65 3b 0a 09 7d  GE*   phpage;..}
1920: 0a 09 50 46 4e 50 52 4f 50 53 48 45 45 54 43 41  ..PFNPROPSHEETCA
1930: 4c 4c 42 41 43 4b 20 70 66 6e 43 61 6c 6c 62 61  LLBACK pfnCallba
1940: 63 6b 3b 0a 09 73 74 61 74 69 63 20 69 66 20 28  ck;..static if (
1950: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
1960: 34 30 30 29 20 7b 0a 09 09 75 6e 69 6f 6e 20 7b  400) {...union {
1970: 0a 09 09 09 48 42 49 54 4d 41 50 20 68 62 6d 57  ....HBITMAP hbmW
1980: 61 74 65 72 6d 61 72 6b 3b 0a 09 09 09 4c 50 43  atermark;....LPC
1990: 57 53 54 52 20 70 73 7a 62 6d 57 61 74 65 72 6d  WSTR pszbmWaterm
19a0: 61 72 6b 3b 0a 09 09 7d 0a 09 09 48 50 41 4c 45  ark;...}...HPALE
19b0: 54 54 45 20 68 70 6c 57 61 74 65 72 6d 61 72 6b  TTE hplWatermark
19c0: 3b 0a 09 09 75 6e 69 6f 6e 20 7b 0a 09 09 09 48  ;...union {....H
19d0: 42 49 54 4d 41 50 20 68 62 6d 48 65 61 64 65 72  BITMAP hbmHeader
19e0: 3b 0a 09 09 09 4c 50 43 57 53 54 52 20 70 73 7a  ;....LPCWSTR psz
19f0: 62 6d 48 65 61 64 65 72 3b 0a 09 09 7d 0a 09 7d  bmHeader;...}..}
1a00: 0a 7d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45  .}.alias PROPSHE
1a10: 45 54 48 45 41 44 45 52 57 2a 20 20 20 20 20 20  ETHEADERW*      
1a20: 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44   LPPROPSHEETHEAD
1a30: 45 52 57 3b 0a 61 6c 69 61 73 20 43 50 74 72 21  ERW;.alias CPtr!
1a40: 28 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52  (PROPSHEETHEADER
1a50: 57 29 20 4c 50 43 50 52 4f 50 53 48 45 45 54 48  W) LPCPROPSHEETH
1a60: 45 41 44 45 52 57 3b 0a 0a 61 6c 69 61 73 20 42  EADERW;..alias B
1a70: 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 50 52  OOL function(HPR
1a80: 4f 50 53 48 45 45 54 50 41 47 45 2c 20 4c 50 41  OPSHEETPAGE, LPA
1a90: 52 41 4d 29 20 4c 50 46 4e 41 44 44 50 52 4f 50  RAM) LPFNADDPROP
1aa0: 53 48 45 45 54 50 41 47 45 3b 0a 61 6c 69 61 73  SHEETPAGE;.alias
1ab0: 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c   BOOL function(L
1ac0: 50 56 4f 49 44 2c 20 4c 50 46 4e 41 44 44 50 52  PVOID, LPFNADDPR
1ad0: 4f 50 53 48 45 45 54 50 41 47 45 2c 20 4c 50 41  OPSHEETPAGE, LPA
1ae0: 52 41 4d 29 0a 20 20 4c 50 46 4e 41 44 44 50 52  RAM).  LPFNADDPR
1af0: 4f 50 53 48 45 45 54 50 41 47 45 53 3b 0a 0a 73  OPSHEETPAGES;..s
1b00: 74 72 75 63 74 20 50 53 48 4e 4f 54 49 46 59 20  truct PSHNOTIFY 
1b10: 7b 0a 09 4e 4d 48 44 52 20 20 68 64 72 3b 0a 09  {..NMHDR  hdr;..
1b20: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0a 7d  LPARAM lParam;.}
1b30: 0a 61 6c 69 61 73 20 50 53 48 4e 4f 54 49 46 59  .alias PSHNOTIFY
1b40: 2a 20 4c 50 50 53 48 4e 4f 54 49 46 59 3b 0a 0a  * LPPSHNOTIFY;..
1b50: 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29  extern (Windows)
1b60: 20 7b 0a 09 48 50 52 4f 50 53 48 45 45 54 50 41   {..HPROPSHEETPA
1b70: 47 45 20 43 72 65 61 74 65 50 72 6f 70 65 72 74  GE CreatePropert
1b80: 79 53 68 65 65 74 50 61 67 65 41 28 4c 50 43 50  ySheetPageA(LPCP
1b90: 52 4f 50 53 48 45 45 54 50 41 47 45 41 29 3b 0a  ROPSHEETPAGEA);.
1ba0: 09 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 20  .HPROPSHEETPAGE 
1bb0: 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 53 68  CreatePropertySh
1bc0: 65 65 74 50 61 67 65 57 28 4c 50 43 50 52 4f 50  eetPageW(LPCPROP
1bd0: 53 48 45 45 54 50 41 47 45 57 29 3b 0a 09 42 4f  SHEETPAGEW);..BO
1be0: 4f 4c 20 44 65 73 74 72 6f 79 50 72 6f 70 65 72  OL DestroyProper
1bf0: 74 79 53 68 65 65 74 50 61 67 65 28 48 50 52 4f  tySheetPage(HPRO
1c00: 50 53 48 45 45 54 50 41 47 45 29 3b 0a 09 69 6e  PSHEETPAGE);..in
1c10: 74 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 41  t PropertySheetA
1c20: 28 4c 50 43 50 52 4f 50 53 48 45 45 54 48 45 41  (LPCPROPSHEETHEA
1c30: 44 45 52 41 29 3b 0a 09 69 6e 74 20 50 72 6f 70  DERA);..int Prop
1c40: 65 72 74 79 53 68 65 65 74 57 28 4c 50 43 50 52  ertySheetW(LPCPR
1c50: 4f 50 53 48 45 45 54 48 45 41 44 45 52 57 29 3b  OPSHEETHEADERW);
1c60: 0a 7d 0a 0a 76 65 72 73 69 6f 6e 20 28 55 6e 69  .}..version (Uni
1c70: 63 6f 64 65 29 20 7b 0a 09 61 6c 69 61 73 20 4c  code) {..alias L
1c80: 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 57 20  PFNPSPCALLBACKW 
1c90: 20 20 20 20 20 20 20 20 4c 50 46 4e 50 53 50 43          LPFNPSPC
1ca0: 41 4c 4c 42 41 43 4b 3b 0a 09 61 6c 69 61 73 20  ALLBACK;..alias 
1cb0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 20 20  PROPSHEETPAGEW  
1cc0: 20 20 20 20 20 20 20 20 20 50 52 4f 50 53 48 45           PROPSHE
1cd0: 45 54 50 41 47 45 3b 0a 09 61 6c 69 61 73 20 4c  ETPAGE;..alias L
1ce0: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 20  PPROPSHEETPAGEW 
1cf0: 20 20 20 20 20 20 20 20 4c 50 50 52 4f 50 53 48          LPPROPSH
1d00: 45 45 54 50 41 47 45 3b 0a 09 61 6c 69 61 73 20  EETPAGE;..alias 
1d10: 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45  LPCPROPSHEETPAGE
1d20: 57 20 20 20 20 20 20 20 20 4c 50 43 50 52 4f 50  W        LPCPROP
1d30: 53 48 45 45 54 50 41 47 45 3b 0a 09 61 6c 69 61  SHEETPAGE;..alia
1d40: 73 20 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  s PROPSHEETHEADE
1d50: 52 57 20 20 20 20 20 20 20 20 20 50 52 4f 50 53  RW         PROPS
1d60: 48 45 45 54 48 45 41 44 45 52 3b 0a 09 61 6c 69  HEETHEADER;..ali
1d70: 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45  as LPPROPSHEETHE
1d80: 41 44 45 52 57 20 20 20 20 20 20 20 4c 50 50 52  ADERW       LPPR
1d90: 4f 50 53 48 45 45 54 48 45 41 44 45 52 3b 0a 09  OPSHEETHEADER;..
1da0: 61 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45  alias LPCPROPSHE
1db0: 45 54 48 45 41 44 45 52 57 20 20 20 20 20 20 4c  ETHEADERW      L
1dc0: 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  PCPROPSHEETHEADE
1dd0: 52 3b 0a 09 61 6c 69 61 73 20 50 53 4d 5f 53 45  R;..alias PSM_SE
1de0: 54 54 49 54 4c 45 57 20 20 20 20 20 20 20 20 20  TTITLEW         
1df0: 20 20 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 3b     PSM_SETTITLE;
1e00: 0a 09 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 46  ..alias PSM_SETF
1e10: 49 4e 49 53 48 54 45 58 54 57 20 20 20 20 20 20  INISHTEXTW      
1e20: 20 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45   PSM_SETFINISHTE
1e30: 58 54 3b 0a 09 61 6c 69 61 73 20 43 72 65 61 74  XT;..alias Creat
1e40: 65 50 72 6f 70 65 72 74 79 53 68 65 65 74 50 61  ePropertySheetPa
1e50: 67 65 57 20 43 72 65 61 74 65 50 72 6f 70 65 72  geW CreateProper
1e60: 74 79 53 68 65 65 74 50 61 67 65 3b 0a 09 61 6c  tySheetPage;..al
1e70: 69 61 73 20 50 72 6f 70 65 72 74 79 53 68 65 65  ias PropertyShee
1e80: 74 57 20 20 20 20 20 20 20 20 20 20 20 50 72 6f  tW           Pro
1e90: 70 65 72 74 79 53 68 65 65 74 3b 0a 7d 20 65 6c  pertySheet;.} el
1ea0: 73 65 20 7b 0a 09 61 6c 69 61 73 20 4c 50 46 4e  se {..alias LPFN
1eb0: 50 53 50 43 41 4c 4c 42 41 43 4b 41 20 20 20 20  PSPCALLBACKA    
1ec0: 20 20 20 20 20 4c 50 46 4e 50 53 50 43 41 4c 4c       LPFNPSPCALL
1ed0: 42 41 43 4b 3b 0a 09 61 6c 69 61 73 20 50 52 4f  BACK;..alias PRO
1ee0: 50 53 48 45 45 54 50 41 47 45 41 20 20 20 20 20  PSHEETPAGEA     
1ef0: 20 20 20 20 20 20 50 52 4f 50 53 48 45 45 54 50        PROPSHEETP
1f00: 41 47 45 3b 0a 09 61 6c 69 61 73 20 4c 50 50 52  AGE;..alias LPPR
1f10: 4f 50 53 48 45 45 54 50 41 47 45 41 20 20 20 20  OPSHEETPAGEA    
1f20: 20 20 20 20 20 4c 50 50 52 4f 50 53 48 45 45 54       LPPROPSHEET
1f30: 50 41 47 45 3b 0a 09 61 6c 69 61 73 20 4c 50 43  PAGE;..alias LPC
1f40: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 20 20  PROPSHEETPAGEA  
1f50: 20 20 20 20 20 20 4c 50 43 50 52 4f 50 53 48 45        LPCPROPSHE
1f60: 45 54 50 41 47 45 3b 0a 09 61 6c 69 61 73 20 50  ETPAGE;..alias P
1f70: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 20  ROPSHEETHEADERA 
1f80: 20 20 20 20 20 20 20 20 50 52 4f 50 53 48 45 45          PROPSHEE
1f90: 54 48 45 41 44 45 52 3b 0a 09 61 6c 69 61 73 20  THEADER;..alias 
1fa0: 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  LPPROPSHEETHEADE
1fb0: 52 41 20 20 20 20 20 20 20 4c 50 50 52 4f 50 53  RA       LPPROPS
1fc0: 48 45 45 54 48 45 41 44 45 52 3b 0a 09 61 6c 69  HEETHEADER;..ali
1fd0: 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 48  as LPCPROPSHEETH
1fe0: 45 41 44 45 52 41 20 20 20 20 20 20 4c 50 43 50  EADERA      LPCP
1ff0: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 3b 0a  ROPSHEETHEADER;.
2000: 09 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 54 49  .alias PSM_SETTI
2010: 54 4c 45 41 20 20 20 20 20 20 20 20 20 20 20 20  TLEA            
2020: 50 53 4d 5f 53 45 54 54 49 54 4c 45 3b 0a 09 61  PSM_SETTITLE;..a
2030: 6c 69 61 73 20 50 53 4d 5f 53 45 54 46 49 4e 49  lias PSM_SETFINI
2040: 53 48 54 45 58 54 41 20 20 20 20 20 20 20 50 53  SHTEXTA       PS
2050: 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58 54 3b  M_SETFINISHTEXT;
2060: 0a 09 61 6c 69 61 73 20 43 72 65 61 74 65 50 72  ..alias CreatePr
2070: 6f 70 65 72 74 79 53 68 65 65 74 50 61 67 65 41  opertySheetPageA
2080: 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 53   CreatePropertyS
2090: 68 65 65 74 50 61 67 65 3b 0a 09 61 6c 69 61 73  heetPage;..alias
20a0: 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 41 20   PropertySheetA 
20b0: 20 20 20 20 20 20 20 20 20 20 50 72 6f 70 65 72            Proper
20c0: 74 79 53 68 65 65 74 3b 0a 7d 0a 0a 42 4f 4f 4c  tySheet;.}..BOOL
20d0: 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75   PropSheet_SetCu
20e0: 72 53 65 6c 28 48 57 4e 44 20 68 50 72 6f 70 53  rSel(HWND hPropS
20f0: 68 65 65 74 44 6c 67 2c 20 48 50 52 4f 50 53 48  heetDlg, HPROPSH
2100: 45 45 54 50 41 47 45 20 68 70 61 67 65 2c 0a 09  EETPAGE hpage,..
2110: 20 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 45    HPROPSHEETPAGE
2120: 20 69 6e 64 65 78 29 20 7b 0a 09 72 65 74 75 72   index) {..retur
2130: 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
2140: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68  dMessage(hPropSh
2150: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 53 45 54 43  eetDlg, PSM_SETC
2160: 55 52 53 45 4c 2c 0a 09 20 20 63 61 73 74 28 57  URSEL,..  cast(W
2170: 50 41 52 41 4d 29 20 69 6e 64 65 78 2c 20 63 61  PARAM) index, ca
2180: 73 74 28 4c 50 41 52 41 4d 29 20 68 70 61 67 65  st(LPARAM) hpage
2190: 29 3b 0a 7d 0a 0a 56 4f 49 44 20 50 72 6f 70 53  );.}..VOID PropS
21a0: 68 65 65 74 5f 52 65 6d 6f 76 65 50 61 67 65 28  heet_RemovePage(
21b0: 48 57 4e 44 20 68 50 72 6f 70 53 68 65 65 74 44  HWND hPropSheetD
21c0: 6c 67 2c 20 69 6e 74 20 69 6e 64 65 78 2c 20 48  lg, int index, H
21d0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 20 68 70  PROPSHEETPAGE hp
21e0: 61 67 65 29 20 7b 0a 09 53 65 6e 64 4d 65 73 73  age) {..SendMess
21f0: 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44 6c  age(hPropSheetDl
2200: 67 2c 20 50 53 4d 5f 52 45 4d 4f 56 45 50 41 47  g, PSM_REMOVEPAG
2210: 45 2c 20 69 6e 64 65 78 2c 20 63 61 73 74 28 4c  E, index, cast(L
2220: 50 41 52 41 4d 29 20 68 70 61 67 65 29 3b 0a 7d  PARAM) hpage);.}
2230: 0a 0a 42 4f 4f 4c 20 50 72 6f 70 53 68 65 65 74  ..BOOL PropSheet
2240: 5f 41 64 64 50 61 67 65 28 48 57 4e 44 20 68 50  _AddPage(HWND hP
2250: 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 48 50 52  ropSheetDlg, HPR
2260: 4f 50 53 48 45 45 54 50 41 47 45 20 68 70 61 67  OPSHEETPAGE hpag
2270: 65 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 63 61  e) {...return ca
2280: 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
2290: 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44  sage(hPropSheetD
22a0: 6c 67 2c 20 50 53 4d 5f 41 44 44 50 41 47 45 2c  lg, PSM_ADDPAGE,
22b0: 0a 09 09 20 20 30 2c 20 63 61 73 74 28 4c 50 41  ...  0, cast(LPA
22c0: 52 41 4d 29 20 68 70 61 67 65 29 3b 0a 7d 0a 0a  RAM) hpage);.}..
22d0: 56 4f 49 44 20 50 72 6f 70 53 68 65 65 74 5f 43  VOID PropSheet_C
22e0: 68 61 6e 67 65 64 28 48 57 4e 44 20 68 50 72 6f  hanged(HWND hPro
22f0: 70 53 68 65 65 74 44 6c 67 2c 20 48 57 4e 44 20  pSheetDlg, HWND 
2300: 68 77 6e 64 50 61 67 65 29 20 7b 0a 09 53 65 6e  hwndPage) {..Sen
2310: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68  dMessage(hPropSh
2320: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 43 48 41 4e  eetDlg, PSM_CHAN
2330: 47 45 44 2c 20 63 61 73 74 28 57 50 41 52 41 4d  GED, cast(WPARAM
2340: 29 20 68 77 6e 64 50 61 67 65 2c 20 30 29 3b 0a  ) hwndPage, 0);.
2350: 7d 0a 0a 56 4f 49 44 20 50 72 6f 70 53 68 65 65  }..VOID PropShee
2360: 74 5f 52 65 73 74 61 72 74 57 69 6e 64 6f 77 73  t_RestartWindows
2370: 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 65 74  (HWND hPropSheet
2380: 44 6c 67 29 20 7b 0a 09 53 65 6e 64 4d 65 73 73  Dlg) {..SendMess
2390: 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44 6c  age(hPropSheetDl
23a0: 67 2c 20 50 53 4d 5f 52 45 53 54 41 52 54 57 49  g, PSM_RESTARTWI
23b0: 4e 44 4f 57 53 2c 20 30 2c 20 30 29 3b 0a 7d 0a  NDOWS, 0, 0);.}.
23c0: 0a 56 4f 49 44 20 50 72 6f 70 53 68 65 65 74 5f  .VOID PropSheet_
23d0: 52 65 62 6f 6f 74 53 79 73 74 65 6d 28 48 57 4e  RebootSystem(HWN
23e0: 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67 29  D hPropSheetDlg)
23f0: 20 7b 0a 09 53 65 6e 64 4d 65 73 73 61 67 65 28   {..SendMessage(
2400: 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 50  hPropSheetDlg, P
2410: 53 4d 5f 52 45 42 4f 4f 54 53 59 53 54 45 4d 2c  SM_REBOOTSYSTEM,
2420: 20 30 2c 20 30 29 3b 0a 7d 0a 0a 56 4f 49 44 20   0, 0);.}..VOID 
2430: 50 72 6f 70 53 68 65 65 74 5f 43 61 6e 63 65 6c  PropSheet_Cancel
2440: 54 6f 43 6c 6f 73 65 28 48 57 4e 44 20 68 50 72  ToClose(HWND hPr
2450: 6f 70 53 68 65 65 74 44 6c 67 29 20 7b 0a 09 53  opSheetDlg) {..S
2460: 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70  endMessage(hProp
2470: 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 43 41  SheetDlg, PSM_CA
2480: 4e 43 45 4c 54 4f 43 4c 4f 53 45 2c 20 30 2c 20  NCELTOCLOSE, 0, 
2490: 30 29 3b 0a 7d 0a 0a 69 6e 74 20 50 72 6f 70 53  0);.}..int PropS
24a0: 68 65 65 74 5f 51 75 65 72 79 53 69 62 6c 69 6e  heet_QuerySiblin
24b0: 67 73 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65  gs(HWND hPropShe
24c0: 65 74 44 6c 67 2c 20 57 50 41 52 41 4d 20 70 61  etDlg, WPARAM pa
24d0: 72 61 6d 31 2c 20 4c 50 41 52 41 4d 20 70 61 72  ram1, LPARAM par
24e0: 61 6d 32 29 20 7b 0a 09 72 65 74 75 72 6e 20 53  am2) {..return S
24f0: 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70  endMessage(hProp
2500: 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 51 55  SheetDlg, PSM_QU
2510: 45 52 59 53 49 42 4c 49 4e 47 53 2c 20 70 61 72  ERYSIBLINGS, par
2520: 61 6d 31 2c 20 70 61 72 61 6d 32 29 3b 0a 7d 0a  am1, param2);.}.
2530: 0a 56 4f 49 44 20 50 72 6f 70 53 68 65 65 74 5f  .VOID PropSheet_
2540: 55 6e 43 68 61 6e 67 65 64 28 48 57 4e 44 20 68  UnChanged(HWND h
2550: 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 48 57  PropSheetDlg, HW
2560: 4e 44 20 68 77 6e 64 50 61 67 65 29 20 7b 0a 09  ND hwndPage) {..
2570: 53 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f  SendMessage(hPro
2580: 70 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 55  pSheetDlg, PSM_U
2590: 4e 43 48 41 4e 47 45 44 2c 20 63 61 73 74 28 57  NCHANGED, cast(W
25a0: 50 41 52 41 4d 29 20 68 77 6e 64 50 61 67 65 2c  PARAM) hwndPage,
25b0: 20 30 29 3b 0a 7d 0a 0a 42 4f 4f 4c 20 50 72 6f   0);.}..BOOL Pro
25c0: 70 53 68 65 65 74 5f 41 70 70 6c 79 28 48 57 4e  pSheet_Apply(HWN
25d0: 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67 29  D hPropSheetDlg)
25e0: 20 7b 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28   {..return cast(
25f0: 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67  BOOL) SendMessag
2600: 65 28 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c  e(hPropSheetDlg,
2610: 20 50 53 4d 5f 41 50 50 4c 59 2c 20 30 2c 20 30   PSM_APPLY, 0, 0
2620: 29 3b 0a 7d 0a 0a 56 4f 49 44 20 50 72 6f 70 53  );.}..VOID PropS
2630: 68 65 65 74 5f 53 65 74 54 69 74 6c 65 28 48 57  heet_SetTitle(HW
2640: 4e 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67  ND hPropSheetDlg
2650: 2c 20 44 57 4f 52 44 20 77 53 74 79 6c 65 2c 20  , DWORD wStyle, 
2660: 4c 50 54 53 54 52 20 6c 70 73 7a 54 65 78 74 29  LPTSTR lpszText)
2670: 20 7b 0a 09 53 65 6e 64 4d 65 73 73 61 67 65 28   {..SendMessage(
2680: 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 50  hPropSheetDlg, P
2690: 53 4d 5f 53 45 54 54 49 54 4c 45 2c 20 77 53 74  SM_SETTITLE, wSt
26a0: 79 6c 65 2c 20 63 61 73 74 28 4c 50 41 52 41 4d  yle, cast(LPARAM
26b0: 29 20 6c 70 73 7a 54 65 78 74 29 3b 0a 7d 0a 0a  ) lpszText);.}..
26c0: 56 4f 49 44 20 50 72 6f 70 53 68 65 65 74 5f 53  VOID PropSheet_S
26d0: 65 74 57 69 7a 42 75 74 74 6f 6e 73 28 48 57 4e  etWizButtons(HWN
26e0: 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c  D hPropSheetDlg,
26f0: 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 20   DWORD dwFlags) 
2700: 7b 0a 09 50 6f 73 74 4d 65 73 73 61 67 65 28 68  {..PostMessage(h
2710: 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 50 53  PropSheetDlg, PS
2720: 4d 5f 53 45 54 57 49 5a 42 55 54 54 4f 4e 53 2c  M_SETWIZBUTTONS,
2730: 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29   0, cast(LPARAM)
2740: 20 64 77 46 6c 61 67 73 29 3b 0a 7d 0a 0a 42 4f   dwFlags);.}..BO
2750: 4f 4c 20 50 72 6f 70 53 68 65 65 74 5f 50 72 65  OL PropSheet_Pre
2760: 73 73 42 75 74 74 6f 6e 28 48 57 4e 44 20 68 50  ssButton(HWND hP
2770: 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 69 6e 74  ropSheetDlg, int
2780: 20 69 42 75 74 74 6f 6e 29 20 7b 0a 09 72 65 74   iButton) {..ret
2790: 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
27a0: 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70  endMessage(hProp
27b0: 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 50 52  SheetDlg, PSM_PR
27c0: 45 53 53 42 55 54 54 4f 4e 2c 20 69 42 75 74 74  ESSBUTTON, iButt
27d0: 6f 6e 2c 20 30 29 3b 0a 7d 0a 0a 42 4f 4f 4c 20  on, 0);.}..BOOL 
27e0: 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75 72  PropSheet_SetCur
27f0: 53 65 6c 42 79 49 44 28 48 57 4e 44 20 68 50 72  SelByID(HWND hPr
2800: 6f 70 53 68 65 65 74 44 6c 67 2c 20 69 6e 74 20  opSheetDlg, int 
2810: 69 64 29 20 7b 0a 09 72 65 74 75 72 6e 20 63 61  id) {..return ca
2820: 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
2830: 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44  sage(hPropSheetD
2840: 6c 67 2c 20 50 53 4d 5f 53 45 54 43 55 52 53 45  lg, PSM_SETCURSE
2850: 4c 49 44 2c 20 30 2c 20 69 64 29 3b 0a 7d 0a 0a  LID, 0, id);.}..
2860: 56 4f 49 44 20 50 72 6f 70 53 68 65 65 74 5f 53  VOID PropSheet_S
2870: 65 74 46 69 6e 69 73 68 54 65 78 74 28 48 57 4e  etFinishText(HWN
2880: 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c  D hPropSheetDlg,
2890: 20 4c 50 54 53 54 52 20 6c 70 73 7a 54 65 78 74   LPTSTR lpszText
28a0: 29 20 7b 0a 09 53 65 6e 64 4d 65 73 73 61 67 65  ) {..SendMessage
28b0: 28 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20  (hPropSheetDlg, 
28c0: 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58  PSM_SETFINISHTEX
28d0: 54 2c 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41  T, 0, cast(LPARA
28e0: 4d 29 20 6c 70 73 7a 54 65 78 74 29 3b 0a 7d 0a  M) lpszText);.}.
28f0: 0a 48 57 4e 44 20 50 72 6f 70 53 68 65 65 74 5f  .HWND PropSheet_
2900: 47 65 74 54 61 62 43 6f 6e 74 72 6f 6c 28 48 57  GetTabControl(HW
2910: 4e 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67  ND hPropSheetDlg
2920: 29 20 7b 0a 09 72 65 74 75 72 6e 20 63 61 73 74  ) {..return cast
2930: 28 48 57 4e 44 29 20 53 65 6e 64 4d 65 73 73 61  (HWND) SendMessa
2940: 67 65 28 68 50 72 6f 70 53 68 65 65 74 44 6c 67  ge(hPropSheetDlg
2950: 2c 20 50 53 4d 5f 47 45 54 54 41 42 43 4f 4e 54  , PSM_GETTABCONT
2960: 52 4f 4c 2c 20 30 2c 20 30 29 3b 0a 7d 0a 0a 42  ROL, 0, 0);.}..B
2970: 4f 4f 4c 20 50 72 6f 70 53 68 65 65 74 5f 49 73  OOL PropSheet_Is
2980: 44 69 61 6c 6f 67 4d 65 73 73 61 67 65 28 48 57  DialogMessage(HW
2990: 4e 44 20 68 44 6c 67 2c 20 4c 50 4d 53 47 20 70  ND hDlg, LPMSG p
29a0: 4d 73 67 29 20 7b 0a 09 72 65 74 75 72 6e 20 63  Msg) {..return c
29b0: 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
29c0: 73 73 61 67 65 28 68 44 6c 67 2c 20 50 53 4d 5f  ssage(hDlg, PSM_
29d0: 49 53 44 49 41 4c 4f 47 4d 45 53 53 41 47 45 2c  ISDIALOGMESSAGE,
29e0: 0a 09 20 20 30 2c 20 63 61 73 74 28 4c 50 41 52  ..  0, cast(LPAR
29f0: 41 4d 29 20 70 4d 73 67 29 3b 0a 7d 0a 0a 48 57  AM) pMsg);.}..HW
2a00: 4e 44 20 50 72 6f 70 53 68 65 65 74 5f 47 65 74  ND PropSheet_Get
2a10: 43 75 72 72 65 6e 74 50 61 67 65 48 77 6e 64 28  CurrentPageHwnd(
2a20: 48 57 4e 44 20 68 44 6c 67 29 20 7b 0a 09 72 65  HWND hDlg) {..re
2a30: 74 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29 20  turn cast(HWND) 
2a40: 53 65 6e 64 4d 65 73 73 61 67 65 28 68 44 6c 67  SendMessage(hDlg
2a50: 2c 20 50 53 4d 5f 47 45 54 43 55 52 52 45 4e 54  , PSM_GETCURRENT
2a60: 50 41 47 45 48 57 4e 44 2c 20 30 2c 20 30 29 3b  PAGEHWND, 0, 0);
2a70: 0a 7d 0a 0a 42 4f 4f 4c 20 50 72 6f 70 53 68 65  .}..BOOL PropShe
2a80: 65 74 5f 49 6e 73 65 72 74 50 61 67 65 28 48 57  et_InsertPage(HW
2a90: 4e 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67  ND hPropSheetDlg
2aa0: 2c 20 57 50 41 52 41 4d 20 77 49 6e 73 65 72 74  , WPARAM wInsert
2ab0: 41 66 74 65 72 2c 0a 09 20 20 48 50 52 4f 50 53  After,..  HPROPS
2ac0: 48 45 45 54 50 41 47 45 20 68 70 61 67 65 29 20  HEETPAGE hpage) 
2ad0: 7b 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 42  {..return cast(B
2ae0: 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65  OOL) SendMessage
2af0: 28 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20  (hPropSheetDlg, 
2b00: 50 53 4d 5f 49 4e 53 45 52 54 50 41 47 45 2c 0a  PSM_INSERTPAGE,.
2b10: 09 20 20 77 49 6e 73 65 72 74 41 66 74 65 72 2c  .  wInsertAfter,
2b20: 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 68 70   cast(LPARAM) hp
2b30: 61 67 65 29 3b 0a 7d 0a                          age);.}.