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 63 6f 6d 6d 64 6c commdl
0070: 67 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 g.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: 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 Translated from
0190: 4d 69 6e 47 57 20 41 50 49 20 66 6f 72 20 4d 53 MinGW API for MS
01a0: 2d 57 69 6e 64 6f 77 73 20 33 2e 31 32 20 20 20 -Windows 3.12
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 20 20 20 20 20 20 20 20
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 50 6c Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63 aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20 domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65 ********/.module
02a0: 20 77 69 6e 33 32 2e 63 6f 6d 6d 64 6c 67 3b 0a win32.commdlg;.
02b0: 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 63 6f 6d pragma(lib, "com
02c0: 64 6c 67 33 32 2e 6c 69 62 22 29 3b 0a 0a 70 72 dlg32.lib");..pr
02d0: 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e ivate import win
02e0: 33 32 2e 77 33 32 61 70 69 3b 0a 69 6d 70 6f 72 32.w32api;.impor
02f0: 74 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 2c 20 t win32.windef,
0300: 77 69 6e 33 32 2e 77 69 6e 75 73 65 72 3b 0a 69 win32.winuser;.i
0310: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 67 mport win32.wing
0320: 64 69 3b 20 2f 2f 20 66 6f 72 20 4c 50 4c 4f 47 di; // for LPLOG
0330: 46 4f 4e 54 41 0a 0a 63 6f 6e 73 74 20 54 43 48 FONTA..const TCH
0340: 41 52 5b 5d 0a 09 4c 42 53 45 4c 43 48 53 54 52 AR[]..LBSELCHSTR
0350: 49 4e 47 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 4c ING = "commdlg_L
0360: 42 53 65 6c 43 68 61 6e 67 65 64 4e 6f 74 69 66 BSelChangedNotif
0370: 79 22 2c 0a 09 53 48 41 52 45 56 49 53 54 52 49 y",..SHAREVISTRI
0380: 4e 47 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 53 68 NG = "commdlg_Sh
0390: 61 72 65 56 69 6f 6c 61 74 69 6f 6e 22 2c 0a 09 areViolation",..
03a0: 46 49 4c 45 4f 4b 53 54 52 49 4e 47 20 20 3d 20 FILEOKSTRING =
03b0: 22 63 6f 6d 6d 64 6c 67 5f 46 69 6c 65 4e 61 6d "commdlg_FileNam
03c0: 65 4f 4b 22 2c 0a 09 43 4f 4c 4f 52 4f 4b 53 54 eOK",..COLOROKST
03d0: 52 49 4e 47 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f RING = "commdlg_
03e0: 43 6f 6c 6f 72 4f 4b 22 2c 0a 09 53 45 54 52 47 ColorOK",..SETRG
03f0: 42 53 54 52 49 4e 47 20 20 3d 20 22 63 6f 6d 6d BSTRING = "comm
0400: 64 6c 67 5f 53 65 74 52 47 42 43 6f 6c 6f 72 22 dlg_SetRGBColor"
0410: 2c 0a 09 48 45 4c 50 4d 53 47 53 54 52 49 4e 47 ,..HELPMSGSTRING
0420: 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 68 65 6c 70 = "commdlg_help
0430: 22 2c 0a 09 46 49 4e 44 4d 53 47 53 54 52 49 4e ",..FINDMSGSTRIN
0440: 47 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 46 69 6e G = "commdlg_Fin
0450: 64 52 65 70 6c 61 63 65 22 3b 0a 0a 65 6e 75 6d dReplace";..enum
0460: 20 3a 20 55 49 4e 54 20 7b 0a 09 43 44 4e 5f 46 : UINT {..CDN_F
0470: 49 52 53 54 20 20 20 20 20 20 20 20 20 20 3d 20 IRST =
0480: 2d 36 30 31 2c 20 2f 2f 20 61 6c 73 6f 20 69 6e -601, // also in
0490: 20 63 6f 6d 6d 63 74 72 6c 2e 68 0a 09 43 44 4e commctrl.h..CDN
04a0: 5f 4c 41 53 54 20 20 20 20 20 20 20 20 20 20 20 _LAST
04b0: 3d 20 2d 36 39 39 2c 0a 09 43 44 4e 5f 49 4e 49 = -699,..CDN_INI
04c0: 54 44 4f 4e 45 20 20 20 20 20 20 20 3d 20 43 44 TDONE = CD
04d0: 4e 5f 46 49 52 53 54 2c 0a 09 43 44 4e 5f 53 45 N_FIRST,..CDN_SE
04e0: 4c 43 48 41 4e 47 45 20 20 20 20 20 20 3d 20 43 LCHANGE = C
04f0: 44 4e 5f 46 49 52 53 54 20 2d 20 31 2c 0a 09 43 DN_FIRST - 1,..C
0500: 44 4e 5f 46 4f 4c 44 45 52 43 48 41 4e 47 45 20 DN_FOLDERCHANGE
0510: 20 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 2d 20 = CDN_FIRST -
0520: 32 2c 0a 09 43 44 4e 5f 53 48 41 52 45 56 49 4f 2,..CDN_SHAREVIO
0530: 4c 41 54 49 4f 4e 20 3d 20 43 44 4e 5f 46 49 52 LATION = CDN_FIR
0540: 53 54 20 2d 20 33 2c 0a 09 43 44 4e 5f 48 45 4c ST - 3,..CDN_HEL
0550: 50 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 44 P = CD
0560: 4e 5f 46 49 52 53 54 20 2d 20 34 2c 0a 09 43 44 N_FIRST - 4,..CD
0570: 4e 5f 46 49 4c 45 4f 4b 20 20 20 20 20 20 20 20 N_FILEOK
0580: 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 2d 20 35 = CDN_FIRST - 5
0590: 2c 0a 09 43 44 4e 5f 54 59 50 45 43 48 41 4e 47 ,..CDN_TYPECHANG
05a0: 45 20 20 20 20 20 3d 20 43 44 4e 5f 46 49 52 53 E = CDN_FIRS
05b0: 54 20 2d 20 36 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 T - 6.}..enum :
05c0: 55 49 4e 54 20 7b 0a 09 43 44 4d 5f 46 49 52 53 UINT {..CDM_FIRS
05d0: 54 20 20 20 20 20 20 20 20 20 20 20 3d 20 57 4d T = WM
05e0: 5f 55 53 45 52 20 2b 20 31 30 30 2c 0a 09 43 44 _USER + 100,..CD
05f0: 4d 5f 4c 41 53 54 20 20 20 20 20 20 20 20 20 20 M_LAST
0600: 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 30 = WM_USER + 20
0610: 30 2c 0a 09 43 44 4d 5f 47 45 54 53 50 45 43 20 0,..CDM_GETSPEC
0620: 20 20 20 20 20 20 20 20 3d 20 43 44 4d 5f 46 49 = CDM_FI
0630: 52 53 54 2c 0a 09 43 44 4d 5f 47 45 54 46 49 4c RST,..CDM_GETFIL
0640: 45 50 41 54 48 2c 0a 09 43 44 4d 5f 47 45 54 46 EPATH,..CDM_GETF
0650: 4f 4c 44 45 52 50 41 54 48 2c 0a 09 43 44 4d 5f OLDERPATH,..CDM_
0660: 47 45 54 46 4f 4c 44 45 52 49 44 4c 49 53 54 2c GETFOLDERIDLIST,
0670: 0a 09 43 44 4d 5f 53 45 54 43 4f 4e 54 52 4f 4c ..CDM_SETCONTROL
0680: 54 45 58 54 2c 0a 09 43 44 4d 5f 48 49 44 45 43 TEXT,..CDM_HIDEC
0690: 4f 4e 54 52 4f 4c 2c 0a 09 43 44 4d 5f 53 45 54 ONTROL,..CDM_SET
06a0: 44 45 46 45 58 54 20 20 20 20 2f 2f 20 3d 20 43 DEFEXT // = C
06b0: 44 4d 5f 46 49 52 53 54 20 2b 20 36 0a 7d 0a 0a DM_FIRST + 6.}..
06c0: 2f 2f 20 66 6c 61 67 73 20 66 6f 72 20 43 68 6f // flags for Cho
06d0: 6f 73 65 43 6f 6c 6f 72 0a 65 6e 75 6d 20 3a 20 oseColor.enum :
06e0: 44 57 4f 52 44 20 7b 0a 09 43 43 5f 52 47 42 49 DWORD {..CC_RGBI
06f0: 4e 49 54 20 20 20 20 20 20 20 20 20 20 20 20 20 NIT
0700: 20 3d 20 30 78 30 30 30 31 2c 0a 09 43 43 5f 46 = 0x0001,..CC_F
0710: 55 4c 4c 4f 50 45 4e 20 20 20 20 20 20 20 20 20 ULLOPEN
0720: 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0a 09 43 = 0x0002,..C
0730: 43 5f 50 52 45 56 45 4e 54 46 55 4c 4c 4f 50 45 C_PREVENTFULLOPE
0740: 4e 20 20 20 20 20 20 3d 20 30 78 30 30 30 34 2c N = 0x0004,
0750: 0a 09 43 43 5f 53 48 4f 57 48 45 4c 50 20 20 20 ..CC_SHOWHELP
0760: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
0770: 30 38 2c 0a 09 43 43 5f 45 4e 41 42 4c 45 48 4f 08,..CC_ENABLEHO
0780: 4f 4b 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 OK = 0
0790: 78 30 30 31 30 2c 0a 09 43 43 5f 45 4e 41 42 4c x0010,..CC_ENABL
07a0: 45 54 45 4d 50 4c 41 54 45 20 20 20 20 20 20 20 ETEMPLATE
07b0: 3d 20 30 78 30 30 32 30 2c 0a 09 43 43 5f 45 4e = 0x0020,..CC_EN
07c0: 41 42 4c 45 54 45 4d 50 4c 41 54 45 48 41 4e 44 ABLETEMPLATEHAND
07d0: 4c 45 20 3d 20 30 78 30 30 34 30 2c 0a 09 43 43 LE = 0x0040,..CC
07e0: 5f 53 4f 4c 49 44 43 4f 4c 4f 52 20 20 20 20 20 _SOLIDCOLOR
07f0: 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 2c 0a = 0x0080,.
0800: 09 43 43 5f 41 4e 59 43 4f 4c 4f 52 20 20 20 20 .CC_ANYCOLOR
0810: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 = 0x010
0820: 30 0a 7d 0a 0a 2f 2f 20 66 6c 61 67 73 20 66 6f 0.}..// flags fo
0830: 72 20 43 68 6f 6f 73 65 46 6f 6e 74 0a 65 6e 75 r ChooseFont.enu
0840: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 43 46 5f m : DWORD {..CF_
0850: 53 43 52 45 45 4e 46 4f 4e 54 53 20 20 20 20 20 SCREENFONTS
0860: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 = 0x0000000
0870: 31 2c 0a 09 43 46 5f 50 52 49 4e 54 45 52 46 4f 1,..CF_PRINTERFO
0880: 4e 54 53 20 20 20 20 20 20 20 20 20 3d 20 30 78 NTS = 0x
0890: 30 30 30 30 30 30 30 32 2c 0a 09 43 46 5f 42 4f 00000002,..CF_BO
08a0: 54 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 TH
08b0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 33 2c = 0x00000003,
08c0: 0a 09 43 46 5f 53 48 4f 57 48 45 4c 50 20 20 20 ..CF_SHOWHELP
08d0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
08e0: 30 30 30 30 30 34 2c 0a 09 43 46 5f 45 4e 41 42 000004,..CF_ENAB
08f0: 4c 45 48 4f 4f 4b 20 20 20 20 20 20 20 20 20 20 LEHOOK
0900: 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 = 0x00000008,..
0910: 43 46 5f 45 4e 41 42 4c 45 54 45 4d 50 4c 41 54 CF_ENABLETEMPLAT
0920: 45 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 E = 0x0000
0930: 30 30 31 30 2c 0a 09 43 46 5f 45 4e 41 42 4c 45 0010,..CF_ENABLE
0940: 54 45 4d 50 4c 41 54 45 48 41 4e 44 4c 45 20 3d TEMPLATEHANDLE =
0950: 20 30 78 30 30 30 30 30 30 32 30 2c 0a 09 43 46 0x00000020,..CF
0960: 5f 49 4e 49 54 54 4f 4c 4f 47 46 4f 4e 54 53 54 _INITTOLOGFONTST
0970: 52 55 43 54 20 20 3d 20 30 78 30 30 30 30 30 30 RUCT = 0x000000
0980: 34 30 2c 0a 09 43 46 5f 55 53 45 53 54 59 4c 45 40,..CF_USESTYLE
0990: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 = 0
09a0: 78 30 30 30 30 30 30 38 30 2c 0a 09 43 46 5f 45 x00000080,..CF_E
09b0: 46 46 45 43 54 53 20 20 20 20 20 20 20 20 20 20 FFECTS
09c0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 30 = 0x00000100
09d0: 2c 0a 09 43 46 5f 41 50 50 4c 59 20 20 20 20 20 ,..CF_APPLY
09e0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
09f0: 30 30 30 30 32 30 30 2c 0a 09 43 46 5f 41 4e 53 0000200,..CF_ANS
0a00: 49 4f 4e 4c 59 20 20 20 20 20 20 20 20 20 20 20 IONLY
0a10: 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 2c 0a = 0x00000400,.
0a20: 09 43 46 5f 53 43 52 49 50 54 53 4f 4e 4c 59 20 .CF_SCRIPTSONLY
0a30: 20 20 20 20 20 20 20 20 20 3d 20 43 46 5f 41 4e = CF_AN
0a40: 53 49 4f 4e 4c 59 2c 0a 09 43 46 5f 4e 4f 56 45 SIONLY,..CF_NOVE
0a50: 43 54 4f 52 46 4f 4e 54 53 20 20 20 20 20 20 20 CTORFONTS
0a60: 20 3d 20 30 78 30 30 30 30 30 38 30 30 2c 0a 09 = 0x00000800,..
0a70: 43 46 5f 4e 4f 4f 45 4d 46 4f 4e 54 53 20 20 20 CF_NOOEMFONTS
0a80: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
0a90: 30 38 30 30 2c 0a 09 43 46 5f 4e 4f 53 49 4d 55 0800,..CF_NOSIMU
0aa0: 4c 41 54 49 4f 4e 53 20 20 20 20 20 20 20 20 3d LATIONS =
0ab0: 20 30 78 30 30 30 30 31 30 30 30 2c 0a 09 43 46 0x00001000,..CF
0ac0: 5f 4c 49 4d 49 54 53 49 5a 45 20 20 20 20 20 20 _LIMITSIZE
0ad0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 = 0x000020
0ae0: 30 30 2c 0a 09 43 46 5f 46 49 58 45 44 50 49 54 00,..CF_FIXEDPIT
0af0: 43 48 4f 4e 4c 59 20 20 20 20 20 20 20 3d 20 30 CHONLY = 0
0b00: 78 30 30 30 30 34 30 30 30 2c 0a 09 43 46 5f 57 x00004000,..CF_W
0b10: 59 53 49 57 59 47 20 20 20 20 20 20 20 20 20 20 YSIWYG
0b20: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30 = 0x00008000
0b30: 2c 0a 09 43 46 5f 46 4f 52 43 45 46 4f 4e 54 45 ,..CF_FORCEFONTE
0b40: 58 49 53 54 20 20 20 20 20 20 20 3d 20 30 78 30 XIST = 0x0
0b50: 30 30 31 30 30 30 30 2c 0a 09 43 46 5f 53 43 41 0010000,..CF_SCA
0b60: 4c 41 42 4c 45 4f 4e 4c 59 20 20 20 20 20 20 20 LABLEONLY
0b70: 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 2c 0a = 0x00020000,.
0b80: 09 43 46 5f 54 54 4f 4e 4c 59 20 20 20 20 20 20 .CF_TTONLY
0b90: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
0ba0: 34 30 30 30 30 2c 0a 09 43 46 5f 4e 4f 46 41 43 40000,..CF_NOFAC
0bb0: 45 53 45 4c 20 20 20 20 20 20 20 20 20 20 20 20 ESEL
0bc0: 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0a 09 43 = 0x00080000,..C
0bd0: 46 5f 4e 4f 53 54 59 4c 45 53 45 4c 20 20 20 20 F_NOSTYLESEL
0be0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 30 = 0x00100
0bf0: 30 30 30 2c 0a 09 43 46 5f 4e 4f 53 49 5a 45 53 000,..CF_NOSIZES
0c00: 45 4c 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 EL =
0c10: 30 78 30 30 32 30 30 30 30 30 2c 0a 09 43 46 5f 0x00200000,..CF_
0c20: 53 45 4c 45 43 54 53 43 52 49 50 54 20 20 20 20 SELECTSCRIPT
0c30: 20 20 20 20 20 3d 20 30 78 30 30 34 30 30 30 30 = 0x0040000
0c40: 30 2c 0a 09 43 46 5f 4e 4f 53 43 52 49 50 54 53 0,..CF_NOSCRIPTS
0c50: 45 4c 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 EL = 0x
0c60: 30 30 38 30 30 30 30 30 2c 0a 09 43 46 5f 4e 4f 00800000,..CF_NO
0c70: 56 45 52 54 46 4f 4e 54 53 20 20 20 20 20 20 20 VERTFONTS
0c80: 20 20 20 3d 20 30 78 30 31 30 30 30 30 30 30 0a = 0x01000000.
0c90: 7d 0a 0a 2f 2f 20 46 6f 6e 74 20 74 79 70 65 20 }..// Font type
0ca0: 66 6f 72 20 43 68 6f 6f 73 65 46 6f 6e 74 0a 65 for ChooseFont.e
0cb0: 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 0a 09 42 4f num : WORD {..BO
0cc0: 4c 44 5f 46 4f 4e 54 54 59 50 45 20 20 20 20 20 LD_FONTTYPE
0cd0: 20 3d 20 30 78 30 31 30 30 2c 0a 09 49 54 41 4c = 0x0100,..ITAL
0ce0: 49 43 5f 46 4f 4e 54 54 59 50 45 20 20 20 20 3d IC_FONTTYPE =
0cf0: 20 30 78 30 32 30 30 2c 0a 09 52 45 47 55 4c 41 0x0200,..REGULA
0d00: 52 5f 46 4f 4e 54 54 59 50 45 20 20 20 3d 20 30 R_FONTTYPE = 0
0d10: 78 30 34 30 30 2c 0a 09 53 43 52 45 45 4e 5f 46 x0400,..SCREEN_F
0d20: 4f 4e 54 54 59 50 45 20 20 20 20 3d 20 30 78 32 ONTTYPE = 0x2
0d30: 30 30 30 2c 0a 09 50 52 49 4e 54 45 52 5f 46 4f 000,..PRINTER_FO
0d40: 4e 54 54 59 50 45 20 20 20 3d 20 30 78 34 30 30 NTTYPE = 0x400
0d50: 30 2c 0a 09 53 49 4d 55 4c 41 54 45 44 5f 46 4f 0,..SIMULATED_FO
0d60: 4e 54 54 59 50 45 20 3d 20 30 78 38 30 30 30 0a NTTYPE = 0x8000.
0d70: 7d 0a 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b }..enum : UINT {
0d80: 0a 09 57 4d 5f 43 48 4f 4f 53 45 46 4f 4e 54 5f ..WM_CHOOSEFONT_
0d90: 47 45 54 4c 4f 47 46 4f 4e 54 20 3d 20 57 4d 5f GETLOGFONT = WM_
0da0: 55 53 45 52 20 2b 20 20 20 31 2c 0a 09 57 4d 5f USER + 1,..WM_
0db0: 43 48 4f 4f 53 45 46 4f 4e 54 5f 53 45 54 4c 4f CHOOSEFONT_SETLO
0dc0: 47 46 4f 4e 54 20 3d 20 57 4d 5f 55 53 45 52 20 GFONT = WM_USER
0dd0: 2b 20 31 30 31 2c 0a 09 57 4d 5f 43 48 4f 4f 53 + 101,..WM_CHOOS
0de0: 45 46 4f 4e 54 5f 53 45 54 46 4c 41 47 53 20 20 EFONT_SETFLAGS
0df0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 32 = WM_USER + 102
0e00: 0a 7d 0a 0a 2f 2f 20 66 6c 61 67 73 20 66 6f 72 .}..// flags for
0e10: 20 4f 70 65 6e 46 69 6c 65 4e 61 6d 65 0a 65 6e OpenFileName.en
0e20: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 4f 46 um : DWORD {..OF
0e30: 4e 5f 53 48 41 52 45 57 41 52 4e 20 20 20 20 20 N_SHAREWARN
0e40: 20 20 20 20 20 20 20 3d 20 30 2c 0a 09 4f 46 4e = 0,..OFN
0e50: 5f 53 48 41 52 45 4e 4f 57 41 52 4e 20 20 20 20 _SHARENOWARN
0e60: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 = 0x000001
0e70: 2c 0a 09 4f 46 4e 5f 52 45 41 44 4f 4e 4c 59 20 ,..OFN_READONLY
0e80: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
0e90: 30 30 30 30 30 31 2c 0a 09 4f 46 4e 5f 53 48 41 000001,..OFN_SHA
0ea0: 52 45 46 41 4c 4c 54 48 52 4f 55 47 48 20 20 20 REFALLTHROUGH
0eb0: 20 20 3d 20 30 78 30 30 30 30 30 32 2c 0a 09 4f = 0x000002,..O
0ec0: 46 4e 5f 4f 56 45 52 57 52 49 54 45 50 52 4f 4d FN_OVERWRITEPROM
0ed0: 50 54 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 PT = 0x0000
0ee0: 30 32 2c 0a 09 4f 46 4e 5f 48 49 44 45 52 45 41 02,..OFN_HIDEREA
0ef0: 44 4f 4e 4c 59 20 20 20 20 20 20 20 20 20 3d 20 DONLY =
0f00: 30 78 30 30 30 30 30 34 2c 0a 09 4f 46 4e 5f 4e 0x000004,..OFN_N
0f10: 4f 43 48 41 4e 47 45 44 49 52 20 20 20 20 20 20 OCHANGEDIR
0f20: 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 2c 0a = 0x000008,.
0f30: 09 4f 46 4e 5f 53 48 4f 57 48 45 4c 50 20 20 20 .OFN_SHOWHELP
0f40: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
0f50: 30 30 31 30 2c 0a 09 4f 46 4e 5f 45 4e 41 42 4c 0010,..OFN_ENABL
0f60: 45 48 4f 4f 4b 20 20 20 20 20 20 20 20 20 20 20 EHOOK
0f70: 3d 20 30 78 30 30 30 30 32 30 2c 0a 09 4f 46 4e = 0x000020,..OFN
0f80: 5f 45 4e 41 42 4c 45 54 45 4d 50 4c 41 54 45 20 _ENABLETEMPLATE
0f90: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30 = 0x000040
0fa0: 2c 0a 09 4f 46 4e 5f 45 4e 41 42 4c 45 54 45 4d ,..OFN_ENABLETEM
0fb0: 50 4c 41 54 45 48 41 4e 44 4c 45 20 3d 20 30 78 PLATEHANDLE = 0x
0fc0: 30 30 30 30 38 30 2c 0a 09 4f 46 4e 5f 4e 4f 56 000080,..OFN_NOV
0fd0: 41 4c 49 44 41 54 45 20 20 20 20 20 20 20 20 20 ALIDATE
0fe0: 20 20 3d 20 30 78 30 30 30 31 30 30 2c 0a 09 4f = 0x000100,..O
0ff0: 46 4e 5f 41 4c 4c 4f 57 4d 55 4c 54 49 53 45 4c FN_ALLOWMULTISEL
1000: 45 43 54 20 20 20 20 20 3d 20 30 78 30 30 30 32 ECT = 0x0002
1010: 30 30 2c 0a 09 4f 46 4e 5f 45 58 54 45 4e 53 49 00,..OFN_EXTENSI
1020: 4f 4e 44 49 46 46 45 52 45 4e 54 20 20 20 3d 20 ONDIFFERENT =
1030: 30 78 30 30 30 34 30 30 2c 0a 09 4f 46 4e 5f 50 0x000400,..OFN_P
1040: 41 54 48 4d 55 53 54 45 58 49 53 54 20 20 20 20 ATHMUSTEXIST
1050: 20 20 20 20 3d 20 30 78 30 30 30 38 30 30 2c 0a = 0x000800,.
1060: 09 4f 46 4e 5f 46 49 4c 45 4d 55 53 54 45 58 49 .OFN_FILEMUSTEXI
1070: 53 54 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 ST = 0x00
1080: 31 30 30 30 2c 0a 09 4f 46 4e 5f 43 52 45 41 54 1000,..OFN_CREAT
1090: 45 50 52 4f 4d 50 54 20 20 20 20 20 20 20 20 20 EPROMPT
10a0: 3d 20 30 78 30 30 32 30 30 30 2c 0a 09 4f 46 4e = 0x002000,..OFN
10b0: 5f 53 48 41 52 45 41 57 41 52 45 20 20 20 20 20 _SHAREAWARE
10c0: 20 20 20 20 20 20 3d 20 30 78 30 30 34 30 30 30 = 0x004000
10d0: 2c 0a 09 4f 46 4e 5f 4e 4f 52 45 41 44 4f 4e 4c ,..OFN_NOREADONL
10e0: 59 52 45 54 55 52 4e 20 20 20 20 20 3d 20 30 78 YRETURN = 0x
10f0: 30 30 38 30 30 30 2c 0a 09 4f 46 4e 5f 4e 4f 54 008000,..OFN_NOT
1100: 45 53 54 46 49 4c 45 43 52 45 41 54 45 20 20 20 ESTFILECREATE
1110: 20 20 3d 20 30 78 30 31 30 30 30 30 2c 0a 09 4f = 0x010000,..O
1120: 46 4e 5f 4e 4f 4e 45 54 57 4f 52 4b 42 55 54 54 FN_NONETWORKBUTT
1130: 4f 4e 20 20 20 20 20 20 3d 20 30 78 30 32 30 30 ON = 0x0200
1140: 30 30 2c 0a 09 4f 46 4e 5f 4e 4f 4c 4f 4e 47 4e 00,..OFN_NOLONGN
1150: 41 4d 45 53 20 20 20 20 20 20 20 20 20 20 3d 20 AMES =
1160: 30 78 30 34 30 30 30 30 2c 0a 09 4f 46 4e 5f 45 0x040000,..OFN_E
1170: 58 50 4c 4f 52 45 52 20 20 20 20 20 20 20 20 20 XPLORER
1180: 20 20 20 20 3d 20 30 78 30 38 30 30 30 30 2c 0a = 0x080000,.
1190: 09 4f 46 4e 5f 4e 4f 44 45 52 45 46 45 52 45 4e .OFN_NODEREFEREN
11a0: 43 45 4c 49 4e 4b 53 20 20 20 3d 20 30 78 31 30 CELINKS = 0x10
11b0: 30 30 30 30 2c 0a 09 4f 46 4e 5f 4c 4f 4e 47 4e 0000,..OFN_LONGN
11c0: 41 4d 45 53 20 20 20 20 20 20 20 20 20 20 20 20 AMES
11d0: 3d 20 30 78 32 30 30 30 30 30 2c 0a 09 4f 46 4e = 0x200000,..OFN
11e0: 5f 45 4e 41 42 4c 45 53 49 5a 49 4e 47 20 20 20 _ENABLESIZING
11f0: 20 20 20 20 20 20 3d 20 30 78 38 30 30 30 30 30 = 0x800000
1200: 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 .}..enum : DWORD
1210: 20 7b 0a 09 46 52 5f 44 4f 57 4e 20 20 20 20 20 {..FR_DOWN
1220: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
1230: 30 30 30 30 30 30 30 31 2c 0a 09 46 52 5f 57 48 00000001,..FR_WH
1240: 4f 4c 45 57 4f 52 44 20 20 20 20 20 20 20 20 20 OLEWORD
1250: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c = 0x00000002,
1260: 0a 09 46 52 5f 4d 41 54 43 48 43 41 53 45 20 20 ..FR_MATCHCASE
1270: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
1280: 30 30 30 30 30 34 2c 0a 09 46 52 5f 46 49 4e 44 000004,..FR_FIND
1290: 4e 45 58 54 20 20 20 20 20 20 20 20 20 20 20 20 NEXT
12a0: 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c 0a 09 = 0x00000008,..
12b0: 46 52 5f 52 45 50 4c 41 43 45 20 20 20 20 20 20 FR_REPLACE
12c0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
12d0: 30 30 31 30 2c 0a 09 46 52 5f 52 45 50 4c 41 43 0010,..FR_REPLAC
12e0: 45 41 4c 4c 20 20 20 20 20 20 20 20 20 20 20 3d EALL =
12f0: 20 30 78 30 30 30 30 30 30 32 30 2c 0a 09 46 52 0x00000020,..FR
1300: 5f 44 49 41 4c 4f 47 54 45 52 4d 20 20 20 20 20 _DIALOGTERM
1310: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 = 0x000000
1320: 34 30 2c 0a 09 46 52 5f 53 48 4f 57 48 45 4c 50 40,..FR_SHOWHELP
1330: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 = 0
1340: 78 30 30 30 30 30 30 38 30 2c 0a 09 46 52 5f 45 x00000080,..FR_E
1350: 4e 41 42 4c 45 48 4f 4f 4b 20 20 20 20 20 20 20 NABLEHOOK
1360: 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30 30 = 0x00000100
1370: 2c 0a 09 46 52 5f 45 4e 41 42 4c 45 54 45 4d 50 ,..FR_ENABLETEMP
1380: 4c 41 54 45 20 20 20 20 20 20 20 3d 20 30 78 30 LATE = 0x0
1390: 30 30 30 30 32 30 30 2c 0a 09 46 52 5f 4e 4f 55 0000200,..FR_NOU
13a0: 50 44 4f 57 4e 20 20 20 20 20 20 20 20 20 20 20 PDOWN
13b0: 20 20 3d 20 30 78 30 30 30 30 30 34 30 30 2c 0a = 0x00000400,.
13c0: 09 46 52 5f 4e 4f 4d 41 54 43 48 43 41 53 45 20 .FR_NOMATCHCASE
13d0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
13e0: 30 30 38 30 30 2c 0a 09 46 52 5f 4e 4f 57 48 4f 00800,..FR_NOWHO
13f0: 4c 45 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 LEWORD
1400: 3d 20 30 78 30 30 30 30 31 30 30 30 2c 0a 09 46 = 0x00001000,..F
1410: 52 5f 45 4e 41 42 4c 45 54 45 4d 50 4c 41 54 45 R_ENABLETEMPLATE
1420: 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 30 30 32 HANDLE = 0x00002
1430: 30 30 30 2c 0a 09 46 52 5f 48 49 44 45 55 50 44 000,..FR_HIDEUPD
1440: 4f 57 4e 20 20 20 20 20 20 20 20 20 20 20 3d 20 OWN =
1450: 30 78 30 30 30 30 34 30 30 30 2c 0a 09 46 52 5f 0x00004000,..FR_
1460: 48 49 44 45 4d 41 54 43 48 43 41 53 45 20 20 20 HIDEMATCHCASE
1470: 20 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 = 0x0000800
1480: 30 2c 0a 09 46 52 5f 48 49 44 45 57 48 4f 4c 45 0,..FR_HIDEWHOLE
1490: 57 4f 52 44 20 20 20 20 20 20 20 20 3d 20 30 78 WORD = 0x
14a0: 30 30 30 31 30 30 30 30 2c 0a 09 46 52 5f 4d 41 00010000,..FR_MA
14b0: 54 43 48 44 49 41 43 20 20 20 20 20 20 20 20 20 TCHDIAC
14c0: 20 20 20 3d 20 30 78 32 30 30 30 30 30 30 30 2c = 0x20000000,
14d0: 0a 09 46 52 5f 4d 41 54 43 48 4b 41 53 48 49 44 ..FR_MATCHKASHID
14e0: 41 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 30 A = 0x40
14f0: 30 30 30 30 30 30 2c 0a 09 46 52 5f 4d 41 54 43 000000,..FR_MATC
1500: 48 41 4c 45 46 48 41 4d 5a 41 20 20 20 20 20 20 HALEFHAMZA
1510: 20 3d 20 30 78 38 30 30 30 30 30 30 30 0a 7d 0a = 0x80000000.}.
1520: 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0a .enum : DWORD {.
1530: 09 50 44 5f 41 4c 4c 50 41 47 45 53 20 20 20 20 .PD_ALLPAGES
1540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
1550: 20 30 2c 0a 09 50 44 5f 53 45 4c 45 43 54 49 4f 0,..PD_SELECTIO
1560: 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
1570: 20 20 20 3d 20 30 78 30 30 30 30 30 31 2c 0a 09 = 0x000001,..
1580: 50 44 5f 50 41 47 45 4e 55 4d 53 20 20 20 20 20 PD_PAGENUMS
1590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
15a0: 30 78 30 30 30 30 30 32 2c 0a 09 50 44 5f 4e 4f 0x000002,..PD_NO
15b0: 53 45 4c 45 43 54 49 4f 4e 20 20 20 20 20 20 20 SELECTION
15c0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
15d0: 30 30 34 2c 0a 09 50 44 5f 4e 4f 50 41 47 45 4e 004,..PD_NOPAGEN
15e0: 55 4d 53 20 20 20 20 20 20 20 20 20 20 20 20 20 UMS
15f0: 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 2c 0a = 0x000008,.
1600: 09 50 44 5f 43 4f 4c 4c 41 54 45 20 20 20 20 20 .PD_COLLATE
1610: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d =
1620: 20 30 78 30 30 30 30 31 30 2c 0a 09 50 44 5f 50 0x000010,..PD_P
1630: 52 49 4e 54 54 4f 46 49 4c 45 20 20 20 20 20 20 RINTTOFILE
1640: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
1650: 30 30 32 30 2c 0a 09 50 44 5f 50 52 49 4e 54 53 0020,..PD_PRINTS
1660: 45 54 55 50 20 20 20 20 20 20 20 20 20 20 20 20 ETUP
1670: 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 30 2c = 0x000040,
1680: 0a 09 50 44 5f 4e 4f 57 41 52 4e 49 4e 47 20 20 ..PD_NOWARNING
1690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
16a0: 3d 20 30 78 30 30 30 30 38 30 2c 0a 09 50 44 5f = 0x000080,..PD_
16b0: 52 45 54 55 52 4e 44 43 20 20 20 20 20 20 20 20 RETURNDC
16c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
16d0: 30 30 31 30 30 2c 0a 09 50 44 5f 52 45 54 55 52 00100,..PD_RETUR
16e0: 4e 49 43 20 20 20 20 20 20 20 20 20 20 20 20 20 NIC
16f0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 = 0x000200
1700: 2c 0a 09 50 44 5f 52 45 54 55 52 4e 44 45 46 41 ,..PD_RETURNDEFA
1710: 55 4c 54 20 20 20 20 20 20 20 20 20 20 20 20 20 ULT
1720: 20 3d 20 30 78 30 30 30 34 30 30 2c 0a 09 50 44 = 0x000400,..PD
1730: 5f 53 48 4f 57 48 45 4c 50 20 20 20 20 20 20 20 _SHOWHELP
1740: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
1750: 30 30 30 38 30 30 2c 0a 09 50 44 5f 45 4e 41 42 000800,..PD_ENAB
1760: 4c 45 50 52 49 4e 54 48 4f 4f 4b 20 20 20 20 20 LEPRINTHOOK
1770: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 30 = 0x00100
1780: 30 2c 0a 09 50 44 5f 45 4e 41 42 4c 45 53 45 54 0,..PD_ENABLESET
1790: 55 50 48 4f 4f 4b 20 20 20 20 20 20 20 20 20 20 UPHOOK
17a0: 20 20 3d 20 30 78 30 30 32 30 30 30 2c 0a 09 50 = 0x002000,..P
17b0: 44 5f 45 4e 41 42 4c 45 50 52 49 4e 54 54 45 4d D_ENABLEPRINTTEM
17c0: 50 4c 41 54 45 20 20 20 20 20 20 20 20 3d 20 30 PLATE = 0
17d0: 78 30 30 34 30 30 30 2c 0a 09 50 44 5f 45 4e 41 x004000,..PD_ENA
17e0: 42 4c 45 53 45 54 55 50 54 45 4d 50 4c 41 54 45 BLESETUPTEMPLATE
17f0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 = 0x0080
1800: 30 30 2c 0a 09 50 44 5f 45 4e 41 42 4c 45 50 52 00,..PD_ENABLEPR
1810: 49 4e 54 54 45 4d 50 4c 41 54 45 48 41 4e 44 4c INTTEMPLATEHANDL
1820: 45 20 20 3d 20 30 78 30 31 30 30 30 30 2c 0a 09 E = 0x010000,..
1830: 50 44 5f 45 4e 41 42 4c 45 53 45 54 55 50 54 45 PD_ENABLESETUPTE
1840: 4d 50 4c 41 54 45 48 41 4e 44 4c 45 20 20 3d 20 MPLATEHANDLE =
1850: 30 78 30 32 30 30 30 30 2c 0a 09 50 44 5f 55 53 0x020000,..PD_US
1860: 45 44 45 56 4d 4f 44 45 43 4f 50 49 45 53 20 20 EDEVMODECOPIES
1870: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 34 30 = 0x040
1880: 30 30 30 2c 0a 09 50 44 5f 55 53 45 44 45 56 4d 000,..PD_USEDEVM
1890: 4f 44 45 43 4f 50 49 45 53 41 4e 44 43 4f 4c 4c ODECOPIESANDCOLL
18a0: 41 54 45 20 3d 20 30 78 30 34 30 30 30 30 2c 0a ATE = 0x040000,.
18b0: 09 50 44 5f 44 49 53 41 42 4c 45 50 52 49 4e 54 .PD_DISABLEPRINT
18c0: 54 4f 46 49 4c 45 20 20 20 20 20 20 20 20 20 3d TOFILE =
18d0: 20 30 78 30 38 30 30 30 30 2c 0a 09 50 44 5f 48 0x080000,..PD_H
18e0: 49 44 45 50 52 49 4e 54 54 4f 46 49 4c 45 20 20 IDEPRINTTOFILE
18f0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 = 0x10
1900: 30 30 30 30 2c 0a 09 50 44 5f 4e 4f 4e 45 54 57 0000,..PD_NONETW
1910: 4f 52 4b 42 55 54 54 4f 4e 20 20 20 20 20 20 20 ORKBUTTON
1920: 20 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 0a = 0x200000.
1930: 7d 0a 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 }..static if (_W
1940: 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 IN32_WINNT_ONLY
1950: 26 26 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 && _WIN32_WINNT
1960: 3e 3d 20 30 78 35 30 30 29 20 7b 0a 09 65 6e 75 >= 0x500) {..enu
1970: 6d 20 3a 20 44 57 4f 52 44 20 7b 0a 09 09 50 44 m : DWORD {...PD
1980: 5f 43 55 52 52 45 4e 54 50 41 47 45 20 20 20 20 _CURRENTPAGE
1990: 20 20 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0a = 0x00400000,.
19a0: 09 09 50 44 5f 4e 4f 43 55 52 52 45 4e 54 50 41 ..PD_NOCURRENTPA
19b0: 47 45 20 20 20 20 3d 20 30 78 30 30 38 30 30 30 GE = 0x008000
19c0: 30 30 2c 0a 09 09 50 44 5f 45 58 43 4c 55 53 49 00,...PD_EXCLUSI
19d0: 4f 4e 46 4c 41 47 53 20 20 20 3d 20 30 78 30 31 ONFLAGS = 0x01
19e0: 30 30 30 30 30 30 2c 0a 09 09 50 44 5f 55 53 45 000000,...PD_USE
19f0: 4c 41 52 47 45 54 45 4d 50 4c 41 54 45 20 3d 20 LARGETEMPLATE =
1a00: 30 78 31 30 30 30 30 30 30 30 2c 0a 09 7d 0a 0a 0x10000000,..}..
1a10: 09 65 6e 75 6d 20 3a 20 48 52 45 53 55 4c 54 20 .enum : HRESULT
1a20: 7b 0a 09 09 50 44 5f 52 45 53 55 4c 54 5f 43 41 {...PD_RESULT_CA
1a30: 4e 43 45 4c 2c 0a 09 09 50 44 5f 52 45 53 55 4c NCEL,...PD_RESUL
1a40: 54 5f 50 52 49 4e 54 2c 0a 09 09 50 44 5f 52 45 T_PRINT,...PD_RE
1a50: 53 55 4c 54 5f 41 50 50 4c 59 0a 09 7d 0a 0a 09 SULT_APPLY..}...
1a60: 63 6f 6e 73 74 20 44 57 4f 52 44 20 53 54 41 52 const DWORD STAR
1a70: 54 5f 50 41 47 45 5f 47 45 4e 45 52 41 4c 20 3d T_PAGE_GENERAL =
1a80: 20 30 78 46 46 46 46 46 46 46 46 3b 0a 7d 0a 0a 0xFFFFFFFF;.}..
1a90: 65 6e 75 6d 20 7b 0a 09 50 53 44 5f 44 45 46 41 enum {..PSD_DEFA
1aa0: 55 4c 54 4d 49 4e 4d 41 52 47 49 4e 53 20 20 20 ULTMINMARGINS
1ab0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 2c 0a 09 = 0,..
1ac0: 50 53 44 5f 49 4e 57 49 4e 49 4e 49 49 4e 54 4c PSD_INWININIINTL
1ad0: 4d 45 41 53 55 52 45 20 20 20 20 20 20 20 20 20 MEASURE
1ae0: 20 20 3d 20 30 2c 0a 09 50 53 44 5f 4d 49 4e 4d = 0,..PSD_MINM
1af0: 41 52 47 49 4e 53 20 20 20 20 20 20 20 20 20 20 ARGINS
1b00: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
1b10: 30 30 30 31 2c 0a 09 50 53 44 5f 4d 41 52 47 49 0001,..PSD_MARGI
1b20: 4e 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 NS
1b30: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000
1b40: 30 30 32 2c 0a 09 50 53 44 5f 49 4e 54 48 4f 55 002,..PSD_INTHOU
1b50: 53 41 4e 44 54 48 53 4f 46 49 4e 43 48 45 53 20 SANDTHSOFINCHES
1b60: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
1b70: 30 34 2c 0a 09 50 53 44 5f 49 4e 48 55 4e 44 52 04,..PSD_INHUNDR
1b80: 45 44 54 48 53 4f 46 4d 49 4c 4c 49 4d 45 54 45 EDTHSOFMILLIMETE
1b90: 52 53 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 RS = 0x00000
1ba0: 38 2c 0a 09 50 53 44 5f 44 49 53 41 42 4c 45 4d 8,..PSD_DISABLEM
1bb0: 41 52 47 49 4e 53 20 20 20 20 20 20 20 20 20 20 ARGINS
1bc0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 31 30 = 0x000010
1bd0: 2c 0a 09 50 53 44 5f 44 49 53 41 42 4c 45 50 52 ,..PSD_DISABLEPR
1be0: 49 4e 54 45 52 20 20 20 20 20 20 20 20 20 20 20 INTER
1bf0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 2c = 0x000020,
1c00: 0a 09 50 53 44 5f 4e 4f 57 41 52 4e 49 4e 47 20 ..PSD_NOWARNING
1c10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c20: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 2c 0a = 0x000080,.
1c30: 09 50 53 44 5f 44 49 53 41 42 4c 45 4f 52 49 45 .PSD_DISABLEORIE
1c40: 4e 54 41 54 49 4f 4e 20 20 20 20 20 20 20 20 20 NTATION
1c50: 20 20 20 3d 20 30 78 30 30 30 31 30 30 2c 0a 09 = 0x000100,..
1c60: 50 53 44 5f 44 49 53 41 42 4c 45 50 41 50 45 52 PSD_DISABLEPAPER
1c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c80: 20 20 3d 20 30 78 30 30 30 32 30 30 2c 0a 09 50 = 0x000200,..P
1c90: 53 44 5f 52 45 54 55 52 4e 44 45 46 41 55 4c 54 SD_RETURNDEFAULT
1ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cb0: 20 3d 20 30 78 30 30 30 34 30 30 2c 0a 09 50 53 = 0x000400,..PS
1cc0: 44 5f 53 48 4f 57 48 45 4c 50 20 20 20 20 20 20 D_SHOWHELP
1cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ce0: 3d 20 30 78 30 30 30 38 30 30 2c 0a 09 50 53 44 = 0x000800,..PSD
1cf0: 5f 45 4e 41 42 4c 45 50 41 47 45 53 45 54 55 50 _ENABLEPAGESETUP
1d00: 48 4f 4f 4b 20 20 20 20 20 20 20 20 20 20 20 3d HOOK =
1d10: 20 30 78 30 30 32 30 30 30 2c 0a 09 50 53 44 5f 0x002000,..PSD_
1d20: 45 4e 41 42 4c 45 50 41 47 45 53 45 54 55 50 54 ENABLEPAGESETUPT
1d30: 45 4d 50 4c 41 54 45 20 20 20 20 20 20 20 3d 20 EMPLATE =
1d40: 30 78 30 30 38 30 30 30 2c 0a 09 50 53 44 5f 45 0x008000,..PSD_E
1d50: 4e 41 42 4c 45 50 41 47 45 53 45 54 55 50 54 45 NABLEPAGESETUPTE
1d60: 4d 50 4c 41 54 45 48 41 4e 44 4c 45 20 3d 20 30 MPLATEHANDLE = 0
1d70: 78 30 32 30 30 30 30 2c 0a 09 50 53 44 5f 45 4e x020000,..PSD_EN
1d80: 41 42 4c 45 50 41 47 45 50 41 49 4e 54 48 4f 4f ABLEPAGEPAINTHOO
1d90: 4b 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 K = 0x
1da0: 30 34 30 30 30 30 2c 0a 09 50 53 44 5f 44 49 53 040000,..PSD_DIS
1db0: 41 42 4c 45 50 41 47 45 50 41 49 4e 54 49 4e 47 ABLEPAGEPAINTING
1dc0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
1dd0: 38 30 30 30 30 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 80000.}..enum :
1de0: 55 49 4e 54 20 7b 0a 09 57 4d 5f 50 53 44 5f 50 UINT {..WM_PSD_P
1df0: 41 47 45 53 45 54 55 50 44 4c 47 20 3d 20 57 4d AGESETUPDLG = WM
1e00: 5f 55 53 45 52 2c 0a 09 57 4d 5f 50 53 44 5f 46 _USER,..WM_PSD_F
1e10: 55 4c 4c 50 41 47 45 52 45 43 54 2c 0a 09 57 4d ULLPAGERECT,..WM
1e20: 5f 50 53 44 5f 4d 49 4e 4d 41 52 47 49 4e 52 45 _PSD_MINMARGINRE
1e30: 43 54 2c 0a 09 57 4d 5f 50 53 44 5f 4d 41 52 47 CT,..WM_PSD_MARG
1e40: 49 4e 52 45 43 54 2c 0a 09 57 4d 5f 50 53 44 5f INRECT,..WM_PSD_
1e50: 47 52 45 45 4b 54 45 58 54 52 45 43 54 2c 0a 09 GREEKTEXTRECT,..
1e60: 57 4d 5f 50 53 44 5f 45 4e 56 53 54 41 4d 50 52 WM_PSD_ENVSTAMPR
1e70: 45 43 54 2c 0a 09 57 4d 5f 50 53 44 5f 59 41 46 ECT,..WM_PSD_YAF
1e80: 55 4c 4c 50 41 47 45 52 45 43 54 20 2f 2f 20 3d ULLPAGERECT // =
1e90: 20 57 4d 5f 55 53 45 52 20 2b 20 36 0a 7d 0a 0a WM_USER + 6.}..
1ea0: 65 6e 75 6d 20 3a 20 69 6e 74 20 7b 0a 09 43 44 enum : int {..CD
1eb0: 5f 4c 42 53 45 4c 4e 4f 49 54 45 4d 53 20 3d 20 _LBSELNOITEMS =
1ec0: 2d 31 2c 0a 09 43 44 5f 4c 42 53 45 4c 43 48 41 -1,..CD_LBSELCHA
1ed0: 4e 47 45 2c 0a 09 43 44 5f 4c 42 53 45 4c 53 55 NGE,..CD_LBSELSU
1ee0: 42 2c 0a 09 43 44 5f 4c 42 53 45 4c 41 44 44 0a B,..CD_LBSELADD.
1ef0: 7d 0a 0a 63 6f 6e 73 74 20 57 4f 52 44 20 44 4e }..const WORD DN
1f00: 5f 44 45 46 41 55 4c 54 50 52 4e 20 3d 20 31 3b _DEFAULTPRN = 1;
1f10: 0a 0a 2f 2b 0a 2f 2f 20 42 6f 74 68 20 4d 69 6e ../+.// Both Min
1f20: 47 57 20 61 6e 64 20 74 68 65 20 77 69 6e 64 6f GW and the windo
1f30: 77 73 20 64 6f 63 73 20 69 6e 64 69 63 61 74 65 ws docs indicate
1f40: 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 that there are
1f50: 6d 61 63 72 6f 73 20 66 6f 72 20 74 68 65 20 73 macros for the s
1f60: 65 6e 64 20 6d 65 73 73 61 67 65 73 0a 2f 2f 20 end messages.//
1f70: 74 68 65 20 63 6f 6e 74 72 6f 6c 73 2e 20 54 68 the controls. Th
1f80: 65 73 65 20 73 65 65 6d 20 74 6f 20 62 65 20 74 ese seem to be t
1f90: 6f 74 61 6c 6c 79 20 75 6e 6e 65 63 65 73 73 61 otally unnecessa
1fa0: 72 79 20 2d 2d 20 61 6e 64 20 61 74 20 6c 65 61 ry -- and at lea
1fb0: 73 74 20 6f 6e 65 20 6f 66 20 4d 69 6e 47 57 20 st one of MinGW
1fc0: 6f 72 0a 2f 2f 20 57 69 6e 64 6f 77 73 20 44 6f or.// Windows Do
1fd0: 63 73 20 69 73 20 62 75 67 67 79 21 0a 0a 69 6e cs is buggy!..in
1fe0: 74 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 t CommDlg_OpenSa
1ff0: 76 65 5f 47 65 74 53 70 65 63 28 48 57 4e 44 20 ve_GetSpec(HWND
2000: 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 4c 50 41 hWndControl, LPA
2010: 52 41 4d 20 6c 70 61 72 61 6d 2c 20 57 50 41 52 RAM lparam, WPAR
2020: 41 4d 20 77 50 61 72 61 6d 29 20 7b 0a 09 72 65 AM wParam) {..re
2030: 74 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 turn SendMessage
2040: 28 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 (hWndControl, CD
2050: 4d 5f 47 45 54 53 50 45 43 2c 20 77 50 61 72 61 M_GETSPEC, wPara
2060: 6d 2c 20 6c 50 61 72 61 6d 29 3b 0a 7d 0a 0a 69 m, lParam);.}..i
2070: 6e 74 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 nt CommDlg_OpenS
2080: 61 76 65 5f 47 65 74 46 69 6c 65 50 61 74 68 28 ave_GetFilePath(
2090: 48 57 4e 44 20 68 57 6e 64 43 6f 6e 74 72 6f 6c HWND hWndControl
20a0: 2c 20 4c 50 41 52 41 4d 20 6c 70 61 72 61 6d 2c , LPARAM lparam,
20b0: 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 29 20 WPARAM wParam)
20c0: 7b 0a 09 72 65 74 75 72 6e 20 53 65 6e 64 4d 65 {..return SendMe
20d0: 73 73 61 67 65 28 68 57 6e 64 43 6f 6e 74 72 6f ssage(hWndContro
20e0: 6c 2c 20 43 44 4d 5f 47 45 54 46 49 4c 45 50 41 l, CDM_GETFILEPA
20f0: 54 48 2c 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 TH, wParam, lPar
2100: 61 6d 29 3b 0a 7d 0a 0a 69 6e 74 20 43 6f 6d 6d am);.}..int Comm
2110: 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 Dlg_OpenSave_Get
2120: 46 6f 6c 64 65 72 50 61 74 68 28 48 57 4e 44 20 FolderPath(HWND
2130: 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 4c 50 41 hWndControl, LPA
2140: 52 41 4d 20 6c 70 61 72 61 6d 2c 20 57 50 41 52 RAM lparam, WPAR
2150: 41 4d 20 77 50 61 72 61 6d 29 20 7b 0a 09 72 65 AM wParam) {..re
2160: 74 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 turn SendMessage
2170: 28 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 (hWndControl, CD
2180: 4d 5f 47 45 54 46 4f 4c 44 45 52 50 41 54 48 2c M_GETFOLDERPATH,
2190: 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 wParam, lParam)
21a0: 3b 0a 7d 0a 0a 69 6e 74 20 43 6f 6d 6d 44 6c 67 ;.}..int CommDlg
21b0: 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 6f 6c _OpenSave_GetFol
21c0: 64 65 72 49 44 4c 69 73 74 28 48 57 4e 44 20 68 derIDList(HWND h
21d0: 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 4c 50 41 52 WndControl, LPAR
21e0: 41 4d 20 6c 70 61 72 61 6d 2c 20 57 50 41 52 41 AM lparam, WPARA
21f0: 4d 20 77 50 61 72 61 6d 29 20 7b 0a 09 72 65 74 M wParam) {..ret
2200: 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 28 urn SendMessage(
2210: 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 4d hWndControl, CDM
2220: 5f 47 45 54 46 4f 4c 44 45 52 49 44 4c 49 53 54 _GETFOLDERIDLIST
2230: 2c 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d , wParam, lParam
2240: 29 3b 0a 7d 0a 0a 76 6f 69 64 20 43 6f 6d 6d 44 );.}..void CommD
2250: 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 53 65 74 43 lg_OpenSave_SetC
2260: 6f 6e 74 72 6f 6c 54 65 78 74 28 48 57 4e 44 20 ontrolText(HWND
2270: 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 4c 50 41 hWndControl, LPA
2280: 52 41 4d 20 6c 70 61 72 61 6d 2c 20 57 50 41 52 RAM lparam, WPAR
2290: 41 4d 20 77 50 61 72 61 6d 29 20 7b 0a 09 72 65 AM wParam) {..re
22a0: 74 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 turn SendMessage
22b0: 28 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 (hWndControl, CD
22c0: 4d 5f 53 45 54 43 4f 4e 54 52 4f 4c 54 45 58 54 M_SETCONTROLTEXT
22d0: 2c 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d , wParam, lParam
22e0: 29 3b 0a 7d 0a 0a 76 6f 69 64 20 43 6f 6d 6d 44 );.}..void CommD
22f0: 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 48 69 64 65 lg_OpenSave_Hide
2300: 43 6f 6e 74 72 6f 6c 28 48 57 4e 44 20 68 57 6e Control(HWND hWn
2310: 64 43 6f 6e 74 72 6f 6c 2c 20 57 50 41 52 41 4d dControl, WPARAM
2320: 20 77 50 61 72 61 6d 29 20 7b 0a 09 72 65 74 75 wParam) {..retu
2330: 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 rn SendMessage(h
2340: 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 4d 5f WndControl, CDM_
2350: 48 49 44 45 43 4f 4e 54 52 4f 4c 2c 20 77 50 61 HIDECONTROL, wPa
2360: 72 61 6d 2c 20 30 29 3b 0a 7d 0a 0a 76 6f 69 64 ram, 0);.}..void
2370: 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 CommDlg_OpenSav
2380: 65 5f 53 65 74 44 65 66 45 78 74 28 48 57 4e 44 e_SetDefExt(HWND
2390: 20 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 54 43 hWndControl, TC
23a0: 48 41 52 2a 20 6c 70 61 72 61 6d 29 20 7b 0a 09 HAR* lparam) {..
23b0: 72 65 74 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 return SendMessa
23c0: 67 65 28 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 ge(hWndControl,
23d0: 43 44 4d 5f 53 45 54 43 4f 4e 54 52 4f 4c 54 45 CDM_SETCONTROLTE
23e0: 58 54 2c 20 30 2c 20 63 61 73 74 28 4c 50 41 52 XT, 0, cast(LPAR
23f0: 41 4d 29 6c 50 61 72 61 6d 29 3b 0a 7d 0a 0a 2f AM)lParam);.}../
2400: 2f 20 54 68 65 73 65 20 61 6c 69 61 73 65 73 20 / These aliases
2410: 73 65 65 6d 20 65 76 65 6e 20 6d 6f 72 65 20 75 seem even more u
2420: 6e 6e 65 63 65 73 73 61 72 79 0a 61 6c 69 61 73 nnecessary.alias
2430: 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 CommDlg_OpenSav
2440: 65 5f 47 65 74 53 70 65 63 0a 09 43 6f 6d 6d 44 e_GetSpec..CommD
2450: 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 53 lg_OpenSave_GetS
2460: 70 65 63 41 2c 20 43 6f 6d 6d 44 6c 67 5f 4f 70 pecA, CommDlg_Op
2470: 65 6e 53 61 76 65 5f 47 65 74 53 70 65 63 57 3b enSave_GetSpecW;
2480: 0a 61 6c 69 61 73 20 43 6f 6d 6d 44 6c 67 5f 4f .alias CommDlg_O
2490: 70 65 6e 53 61 76 65 5f 47 65 74 46 69 6c 65 50 penSave_GetFileP
24a0: 61 74 68 0a 09 43 6f 6d 6d 44 6c 67 5f 4f 70 65 ath..CommDlg_Ope
24b0: 6e 53 61 76 65 5f 47 65 74 46 69 6c 65 50 61 74 nSave_GetFilePat
24c0: 68 41 2c 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e hA, CommDlg_Open
24d0: 53 61 76 65 5f 47 65 74 46 69 6c 65 50 61 74 68 Save_GetFilePath
24e0: 57 3b 0a 61 6c 69 61 73 20 43 6f 6d 6d 44 6c 67 W;.alias CommDlg
24f0: 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 6f 6c _OpenSave_GetFol
2500: 64 65 72 50 61 74 68 0a 09 43 6f 6d 6d 44 6c 67 derPath..CommDlg
2510: 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 6f 6c _OpenSave_GetFol
2520: 64 65 72 50 61 74 68 41 2c 20 43 6f 6d 6d 44 6c derPathA, CommDl
2530: 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 6f g_OpenSave_GetFo
2540: 6c 64 65 72 50 61 74 68 57 3b 0a 2b 2f 0a 0a 2f lderPathW;.+/../
2550: 2f 20 43 61 6c 6c 62 61 63 6b 73 2e 0a 65 78 74 / Callbacks..ext
2560: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 7b 0a 61 ern(Windows) {.a
2570: 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63 74 69 lias UINT functi
2580: 6f 6e 20 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 on (HWND, UINT,
2590: 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 0a WPARAM, LPARAM).
25a0: 09 4c 50 43 43 48 4f 4f 4b 50 52 4f 43 2c 20 4c .LPCCHOOKPROC, L
25b0: 50 43 46 48 4f 4f 4b 50 52 4f 43 2c 20 4c 50 46 PCFHOOKPROC, LPF
25c0: 52 48 4f 4f 4b 50 52 4f 43 2c 20 4c 50 4f 46 4e RHOOKPROC, LPOFN
25d0: 48 4f 4f 4b 50 52 4f 43 2c 0a 09 4c 50 50 41 47 HOOKPROC,..LPPAG
25e0: 45 50 41 49 4e 54 48 4f 4f 4b 2c 20 4c 50 50 41 EPAINTHOOK, LPPA
25f0: 47 45 53 45 54 55 50 48 4f 4f 4b 2c 20 4c 50 53 GESETUPHOOK, LPS
2600: 45 54 55 50 48 4f 4f 4b 50 52 4f 43 2c 20 4c 50 ETUPHOOKPROC, LP
2610: 50 52 49 4e 54 48 4f 4f 4b 50 52 4f 43 3b 0a 7d PRINTHOOKPROC;.}
2620: 0a 0a 61 6c 69 67 6e 20 28 31 29 3a 0a 0a 73 74 ..align (1):..st
2630: 72 75 63 74 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 ruct CHOOSECOLOR
2640: 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 A {..DWORD
2650: 20 20 6c 53 74 72 75 63 74 53 69 7a 65 20 3d 20 lStructSize =
2660: 43 48 4f 4f 53 45 43 4f 4c 4f 52 41 2e 73 69 7a CHOOSECOLORA.siz
2670: 65 6f 66 3b 0a 09 48 57 4e 44 20 20 20 20 20 20 eof;..HWND
2680: 20 20 20 68 77 6e 64 4f 77 6e 65 72 3b 0a 09 48 hwndOwner;..H
2690: 57 4e 44 20 20 20 20 20 20 20 20 20 68 49 6e 73 WND hIns
26a0: 74 61 6e 63 65 3b 0a 09 43 4f 4c 4f 52 52 45 46 tance;..COLORREF
26b0: 20 20 20 20 20 72 67 62 52 65 73 75 6c 74 3b 0a rgbResult;.
26c0: 09 43 4f 4c 4f 52 52 45 46 2a 20 20 20 20 6c 70 .COLORREF* lp
26d0: 43 75 73 74 43 6f 6c 6f 72 73 3b 0a 09 44 57 4f CustColors;..DWO
26e0: 52 44 20 20 20 20 20 20 20 20 46 6c 61 67 73 3b RD Flags;
26f0: 0a 09 4c 50 41 52 41 4d 20 20 20 20 20 20 20 6c ..LPARAM l
2700: 43 75 73 74 44 61 74 61 3b 0a 09 4c 50 43 43 48 CustData;..LPCCH
2710: 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f 6b OOKPROC lpfnHook
2720: 3b 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 ;..LPCSTR
2730: 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0a lpTemplateName;.
2740: 7d 0a 61 6c 69 61 73 20 43 48 4f 4f 53 45 43 4f }.alias CHOOSECO
2750: 4c 4f 52 41 2a 20 4c 50 43 48 4f 4f 53 45 43 4f LORA* LPCHOOSECO
2760: 4c 4f 52 41 3b 0a 0a 73 74 72 75 63 74 20 43 48 LORA;..struct CH
2770: 4f 4f 53 45 43 4f 4c 4f 52 57 20 7b 0a 09 44 57 OOSECOLORW {..DW
2780: 4f 52 44 20 20 20 20 20 20 20 20 6c 53 74 72 75 ORD lStru
2790: 63 74 53 69 7a 65 20 3d 20 43 48 4f 4f 53 45 43 ctSize = CHOOSEC
27a0: 4f 4c 4f 52 57 2e 73 69 7a 65 6f 66 3b 0a 09 48 OLORW.sizeof;..H
27b0: 57 4e 44 20 20 20 20 20 20 20 20 20 68 77 6e 64 WND hwnd
27c0: 4f 77 6e 65 72 3b 0a 09 48 57 4e 44 20 20 20 20 Owner;..HWND
27d0: 20 20 20 20 20 68 49 6e 73 74 61 6e 63 65 3b 0a hInstance;.
27e0: 09 43 4f 4c 4f 52 52 45 46 20 20 20 20 20 72 67 .COLORREF rg
27f0: 62 52 65 73 75 6c 74 3b 0a 09 43 4f 4c 4f 52 52 bResult;..COLORR
2800: 45 46 2a 20 20 20 20 6c 70 43 75 73 74 43 6f 6c EF* lpCustCol
2810: 6f 72 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 ors;..DWORD
2820: 20 20 20 46 6c 61 67 73 3b 0a 09 4c 50 41 52 41 Flags;..LPARA
2830: 4d 20 20 20 20 20 20 20 6c 43 75 73 74 44 61 74 M lCustDat
2840: 61 3b 0a 09 4c 50 43 43 48 4f 4f 4b 50 52 4f 43 a;..LPCCHOOKPROC
2850: 20 6c 70 66 6e 48 6f 6f 6b 3b 0a 09 4c 50 43 57 lpfnHook;..LPCW
2860: 53 54 52 20 20 20 20 20 20 6c 70 54 65 6d 70 6c STR lpTempl
2870: 61 74 65 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 ateName;.}.alias
2880: 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 57 2a 20 4c CHOOSECOLORW* L
2890: 50 43 48 4f 4f 53 45 43 4f 4c 4f 52 57 3b 0a 0a PCHOOSECOLORW;..
28a0: 61 6c 69 67 6e 20 28 34 29 20 73 74 72 75 63 74 align (4) struct
28b0: 20 43 48 4f 4f 53 45 46 4f 4e 54 41 20 7b 0a 09 CHOOSEFONTA {..
28c0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 6c 53 74 DWORD lSt
28d0: 72 75 63 74 53 69 7a 65 20 3d 20 43 48 4f 4f 53 ructSize = CHOOS
28e0: 45 46 4f 4e 54 41 2e 73 69 7a 65 6f 66 3b 0a 09 EFONTA.sizeof;..
28f0: 48 57 4e 44 20 20 20 20 20 20 20 20 20 68 77 6e HWND hwn
2900: 64 4f 77 6e 65 72 3b 0a 09 48 44 43 20 20 20 20 dOwner;..HDC
2910: 20 20 20 20 20 20 68 44 43 3b 0a 09 4c 50 4c 4f hDC;..LPLO
2920: 47 46 4f 4e 54 41 20 20 20 6c 70 4c 6f 67 46 6f GFONTA lpLogFo
2930: 6e 74 3b 0a 09 49 4e 54 20 20 20 20 20 20 20 20 nt;..INT
2940: 20 20 69 50 6f 69 6e 74 53 69 7a 65 3b 0a 09 44 iPointSize;..D
2950: 57 4f 52 44 20 20 20 20 20 20 20 20 46 6c 61 67 WORD Flag
2960: 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 s;..DWORD
2970: 20 72 67 62 43 6f 6c 6f 72 73 3b 0a 09 4c 50 41 rgbColors;..LPA
2980: 52 41 4d 20 20 20 20 20 20 20 6c 43 75 73 74 44 RAM lCustD
2990: 61 74 61 3b 0a 09 4c 50 43 46 48 4f 4f 4b 50 52 ata;..LPCFHOOKPR
29a0: 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0a 09 4c 50 OC lpfnHook;..LP
29b0: 43 53 54 52 20 20 20 20 20 20 20 6c 70 54 65 6d CSTR lpTem
29c0: 70 6c 61 74 65 4e 61 6d 65 3b 0a 09 48 49 4e 53 plateName;..HINS
29d0: 54 41 4e 43 45 20 20 20 20 68 49 6e 73 74 61 6e TANCE hInstan
29e0: 63 65 3b 0a 09 4c 50 53 54 52 20 20 20 20 20 20 ce;..LPSTR
29f0: 20 20 6c 70 73 7a 53 74 79 6c 65 3b 0a 09 57 4f lpszStyle;..WO
2a00: 52 44 20 20 20 20 20 20 20 20 20 6e 46 6f 6e 74 RD nFont
2a10: 54 79 70 65 3b 0a 09 2f 2f 57 4f 52 44 20 20 20 Type;..//WORD
2a20: 20 20 20 20 20 20 5f 5f 5f 4d 49 53 53 49 4e 47 ___MISSING
2a30: 5f 41 4c 49 47 4e 4d 45 4e 54 5f 5f 3b 0a 09 49 _ALIGNMENT__;..I
2a40: 4e 54 20 20 20 20 20 20 20 20 20 20 6e 53 69 7a NT nSiz
2a50: 65 4d 69 6e 3b 0a 09 49 4e 54 20 20 20 20 20 20 eMin;..INT
2a60: 20 20 20 20 6e 53 69 7a 65 4d 61 78 3b 0a 7d 0a nSizeMax;.}.
2a70: 61 6c 69 61 73 20 43 48 4f 4f 53 45 46 4f 4e 54 alias CHOOSEFONT
2a80: 41 2a 20 4c 50 43 48 4f 4f 53 45 46 4f 4e 54 41 A* LPCHOOSEFONTA
2a90: 3b 0a 0a 61 6c 69 67 6e 20 28 34 29 20 73 74 72 ;..align (4) str
2aa0: 75 63 74 20 43 48 4f 4f 53 45 46 4f 4e 54 57 20 uct CHOOSEFONTW
2ab0: 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 {..DWORD
2ac0: 6c 53 74 72 75 63 74 53 69 7a 65 20 3d 20 43 48 lStructSize = CH
2ad0: 4f 4f 53 45 46 4f 4e 54 57 2e 73 69 7a 65 6f 66 OOSEFONTW.sizeof
2ae0: 3b 0a 09 48 57 4e 44 20 20 20 20 20 20 20 20 20 ;..HWND
2af0: 68 77 6e 64 4f 77 6e 65 72 3b 0a 09 48 44 43 20 hwndOwner;..HDC
2b00: 20 20 20 20 20 20 20 20 20 68 44 43 3b 0a 09 4c hDC;..L
2b10: 50 4c 4f 47 46 4f 4e 54 57 20 20 20 6c 70 4c 6f PLOGFONTW lpLo
2b20: 67 46 6f 6e 74 3b 0a 09 49 4e 54 20 20 20 20 20 gFont;..INT
2b30: 20 20 20 20 20 69 50 6f 69 6e 74 53 69 7a 65 3b iPointSize;
2b40: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 46 ..DWORD F
2b50: 6c 61 67 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 lags;..DWORD
2b60: 20 20 20 20 72 67 62 43 6f 6c 6f 72 73 3b 0a 09 rgbColors;..
2b70: 4c 50 41 52 41 4d 20 20 20 20 20 20 20 6c 43 75 LPARAM lCu
2b80: 73 74 44 61 74 61 3b 0a 09 4c 50 43 46 48 4f 4f stData;..LPCFHOO
2b90: 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0a KPROC lpfnHook;.
2ba0: 09 4c 50 43 57 53 54 52 20 20 20 20 20 20 6c 70 .LPCWSTR lp
2bb0: 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0a 09 48 TemplateName;..H
2bc0: 49 4e 53 54 41 4e 43 45 20 20 20 20 68 49 6e 73 INSTANCE hIns
2bd0: 74 61 6e 63 65 3b 0a 09 4c 50 57 53 54 52 20 20 tance;..LPWSTR
2be0: 20 20 20 20 20 6c 70 73 7a 53 74 79 6c 65 3b 0a lpszStyle;.
2bf0: 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 6e 46 .WORD nF
2c00: 6f 6e 74 54 79 70 65 3b 0a 09 2f 2f 57 4f 52 44 ontType;..//WORD
2c10: 20 20 20 20 20 20 20 20 20 5f 5f 5f 4d 49 53 53 ___MISS
2c20: 49 4e 47 5f 41 4c 49 47 4e 4d 45 4e 54 5f 5f 3b ING_ALIGNMENT__;
2c30: 0a 09 49 4e 54 20 20 20 20 20 20 20 20 20 20 6e ..INT n
2c40: 53 69 7a 65 4d 69 6e 3b 0a 09 49 4e 54 20 20 20 SizeMin;..INT
2c50: 20 20 20 20 20 20 20 6e 53 69 7a 65 4d 61 78 3b nSizeMax;
2c60: 0a 7d 0a 61 6c 69 61 73 20 43 48 4f 4f 53 45 46 .}.alias CHOOSEF
2c70: 4f 4e 54 57 2a 20 4c 50 43 48 4f 4f 53 45 46 4f ONTW* LPCHOOSEFO
2c80: 4e 54 57 3b 0a 0a 73 74 72 75 63 74 20 44 45 56 NTW;..struct DEV
2c90: 4e 41 4d 45 53 20 7b 0a 09 57 4f 52 44 20 77 44 NAMES {..WORD wD
2ca0: 72 69 76 65 72 4f 66 66 73 65 74 3b 0a 09 57 4f riverOffset;..WO
2cb0: 52 44 20 77 44 65 76 69 63 65 4f 66 66 73 65 74 RD wDeviceOffset
2cc0: 3b 0a 09 57 4f 52 44 20 77 4f 75 74 70 75 74 4f ;..WORD wOutputO
2cd0: 66 66 73 65 74 3b 0a 09 57 4f 52 44 20 77 44 65 ffset;..WORD wDe
2ce0: 66 61 75 6c 74 3b 0a 7d 0a 61 6c 69 61 73 20 44 fault;.}.alias D
2cf0: 45 56 4e 41 4d 45 53 2a 20 4c 50 44 45 56 4e 41 EVNAMES* LPDEVNA
2d00: 4d 45 53 3b 0a 0a 73 74 72 75 63 74 20 46 49 4e MES;..struct FIN
2d10: 44 52 45 50 4c 41 43 45 41 20 7b 0a 09 44 57 4f DREPLACEA {..DWO
2d20: 52 44 20 20 20 20 20 20 20 20 6c 53 74 72 75 63 RD lStruc
2d30: 74 53 69 7a 65 20 3d 20 46 49 4e 44 52 45 50 4c tSize = FINDREPL
2d40: 41 43 45 41 2e 73 69 7a 65 6f 66 3b 0a 09 48 57 ACEA.sizeof;..HW
2d50: 4e 44 20 20 20 20 20 20 20 20 20 68 77 6e 64 4f ND hwndO
2d60: 77 6e 65 72 3b 0a 09 48 49 4e 53 54 41 4e 43 45 wner;..HINSTANCE
2d70: 20 20 20 20 68 49 6e 73 74 61 6e 63 65 3b 0a 09 hInstance;..
2d80: 44 57 4f 52 44 20 20 20 20 20 20 20 20 46 6c 61 DWORD Fla
2d90: 67 73 3b 0a 09 4c 50 53 54 52 20 20 20 20 20 20 gs;..LPSTR
2da0: 20 20 6c 70 73 74 72 46 69 6e 64 57 68 61 74 3b lpstrFindWhat;
2db0: 0a 09 4c 50 53 54 52 20 20 20 20 20 20 20 20 6c ..LPSTR l
2dc0: 70 73 74 72 52 65 70 6c 61 63 65 57 69 74 68 3b pstrReplaceWith;
2dd0: 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 77 ..WORD w
2de0: 46 69 6e 64 57 68 61 74 4c 65 6e 3b 0a 09 57 4f FindWhatLen;..WO
2df0: 52 44 20 20 20 20 20 20 20 20 20 77 52 65 70 6c RD wRepl
2e00: 61 63 65 57 69 74 68 4c 65 6e 3b 0a 09 4c 50 41 aceWithLen;..LPA
2e10: 52 41 4d 20 20 20 20 20 20 20 6c 43 75 73 74 44 RAM lCustD
2e20: 61 74 61 3b 0a 09 4c 50 46 52 48 4f 4f 4b 50 52 ata;..LPFRHOOKPR
2e30: 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0a 09 4c 50 OC lpfnHook;..LP
2e40: 43 53 54 52 20 20 20 20 20 20 20 6c 70 54 65 6d CSTR lpTem
2e50: 70 6c 61 74 65 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 plateName;.}.ali
2e60: 61 73 20 46 49 4e 44 52 45 50 4c 41 43 45 41 2a as FINDREPLACEA*
2e70: 20 4c 50 46 49 4e 44 52 45 50 4c 41 43 45 41 3b LPFINDREPLACEA;
2e80: 0a 0a 73 74 72 75 63 74 20 46 49 4e 44 52 45 50 ..struct FINDREP
2e90: 4c 41 43 45 57 20 7b 0a 09 44 57 4f 52 44 20 20 LACEW {..DWORD
2ea0: 20 20 20 20 20 20 6c 53 74 72 75 63 74 53 69 7a lStructSiz
2eb0: 65 20 3d 20 46 49 4e 44 52 45 50 4c 41 43 45 57 e = FINDREPLACEW
2ec0: 2e 73 69 7a 65 6f 66 3b 0a 09 48 57 4e 44 20 20 .sizeof;..HWND
2ed0: 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e 65 72 hwndOwner
2ee0: 3b 0a 09 48 49 4e 53 54 41 4e 43 45 20 20 20 20 ;..HINSTANCE
2ef0: 68 49 6e 73 74 61 6e 63 65 3b 0a 09 44 57 4f 52 hInstance;..DWOR
2f00: 44 20 20 20 20 20 20 20 20 46 6c 61 67 73 3b 0a D Flags;.
2f10: 09 4c 50 57 53 54 52 20 20 20 20 20 20 20 6c 70 .LPWSTR lp
2f20: 73 74 72 46 69 6e 64 57 68 61 74 3b 0a 09 4c 50 strFindWhat;..LP
2f30: 57 53 54 52 20 20 20 20 20 20 20 6c 70 73 74 72 WSTR lpstr
2f40: 52 65 70 6c 61 63 65 57 69 74 68 3b 0a 09 57 4f ReplaceWith;..WO
2f50: 52 44 20 20 20 20 20 20 20 20 20 77 46 69 6e 64 RD wFind
2f60: 57 68 61 74 4c 65 6e 3b 0a 09 57 4f 52 44 20 20 WhatLen;..WORD
2f70: 20 20 20 20 20 20 20 77 52 65 70 6c 61 63 65 57 wReplaceW
2f80: 69 74 68 4c 65 6e 3b 0a 09 4c 50 41 52 41 4d 20 ithLen;..LPARAM
2f90: 20 20 20 20 20 20 6c 43 75 73 74 44 61 74 61 3b lCustData;
2fa0: 0a 09 4c 50 46 52 48 4f 4f 4b 50 52 4f 43 20 6c ..LPFRHOOKPROC l
2fb0: 70 66 6e 48 6f 6f 6b 3b 0a 09 4c 50 43 57 53 54 pfnHook;..LPCWST
2fc0: 52 20 20 20 20 20 20 6c 70 54 65 6d 70 6c 61 74 R lpTemplat
2fd0: 65 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 46 eName;.}.alias F
2fe0: 49 4e 44 52 45 50 4c 41 43 45 57 2a 20 4c 50 46 INDREPLACEW* LPF
2ff0: 49 4e 44 52 45 50 4c 41 43 45 57 3b 0a 0a 73 74 INDREPLACEW;..st
3000: 72 75 63 74 20 4f 50 45 4e 46 49 4c 45 4e 41 4d ruct OPENFILENAM
3010: 45 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 EA {..DWORD
3020: 20 20 20 20 6c 53 74 72 75 63 74 53 69 7a 65 20 lStructSize
3030: 3d 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 41 2e = OPENFILENAMEA.
3040: 73 69 7a 65 6f 66 3b 0a 09 48 57 4e 44 20 20 20 sizeof;..HWND
3050: 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e 65 72 hwndOwner
3060: 3b 0a 09 48 49 4e 53 54 41 4e 43 45 20 20 20 20 ;..HINSTANCE
3070: 20 68 49 6e 73 74 61 6e 63 65 3b 0a 09 4c 50 43 hInstance;..LPC
3080: 53 54 52 20 20 20 20 20 20 20 20 6c 70 73 74 72 STR lpstr
3090: 46 69 6c 74 65 72 3b 0a 09 4c 50 53 54 52 20 20 Filter;..LPSTR
30a0: 20 20 20 20 20 20 20 6c 70 73 74 72 43 75 73 74 lpstrCust
30b0: 6f 6d 46 69 6c 74 65 72 3b 0a 09 44 57 4f 52 44 omFilter;..DWORD
30c0: 20 20 20 20 20 20 20 20 20 6e 4d 61 78 43 75 73 nMaxCus
30d0: 74 46 69 6c 74 65 72 3b 0a 09 44 57 4f 52 44 20 tFilter;..DWORD
30e0: 20 20 20 20 20 20 20 20 6e 46 69 6c 74 65 72 49 nFilterI
30f0: 6e 64 65 78 3b 0a 09 4c 50 53 54 52 20 20 20 20 ndex;..LPSTR
3100: 20 20 20 20 20 6c 70 73 74 72 46 69 6c 65 3b 0a lpstrFile;.
3110: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 6e .DWORD n
3120: 4d 61 78 46 69 6c 65 3b 0a 09 4c 50 53 54 52 20 MaxFile;..LPSTR
3130: 20 20 20 20 20 20 20 20 6c 70 73 74 72 46 69 6c lpstrFil
3140: 65 54 69 74 6c 65 3b 0a 09 44 57 4f 52 44 20 20 eTitle;..DWORD
3150: 20 20 20 20 20 20 20 6e 4d 61 78 46 69 6c 65 54 nMaxFileT
3160: 69 74 6c 65 3b 0a 09 4c 50 43 53 54 52 20 20 20 itle;..LPCSTR
3170: 20 20 20 20 20 6c 70 73 74 72 49 6e 69 74 69 61 lpstrInitia
3180: 6c 44 69 72 3b 0a 09 4c 50 43 53 54 52 20 20 20 lDir;..LPCSTR
3190: 20 20 20 20 20 6c 70 73 74 72 54 69 74 6c 65 3b lpstrTitle;
31a0: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 ..DWORD
31b0: 46 6c 61 67 73 3b 0a 09 57 4f 52 44 20 20 20 20 Flags;..WORD
31c0: 20 20 20 20 20 20 6e 46 69 6c 65 4f 66 66 73 65 nFileOffse
31d0: 74 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 t;..WORD
31e0: 20 20 6e 46 69 6c 65 45 78 74 65 6e 73 69 6f 6e nFileExtension
31f0: 3b 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 ;..LPCSTR
3200: 20 6c 70 73 74 72 44 65 66 45 78 74 3b 0a 09 44 lpstrDefExt;..D
3210: 57 4f 52 44 20 20 20 20 20 20 20 20 20 6c 43 75 WORD lCu
3220: 73 74 44 61 74 61 3b 0a 09 4c 50 4f 46 4e 48 4f stData;..LPOFNHO
3230: 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b OKPROC lpfnHook;
3240: 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 20 ..LPCSTR
3250: 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0a lpTemplateName;.
3260: 20 20 20 20 0a 20 20 20 20 73 74 61 74 69 63 20 . static
3270: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 if (_WIN32_WINNT
3280: 5f 4f 4e 4c 59 20 26 26 20 5f 57 49 4e 33 32 5f _ONLY && _WIN32_
3290: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 WINNT >= 0x0500)
32a0: 20 7b 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 {. void
32b0: 20 20 20 20 20 20 20 20 20 2a 70 76 52 65 73 65 *pvRese
32c0: 72 76 65 64 3b 0a 20 20 20 20 20 20 20 20 44 57 rved;. DW
32d0: 4f 52 44 20 20 20 20 20 20 20 20 20 64 77 52 65 ORD dwRe
32e0: 73 65 72 76 65 64 3b 0a 20 20 20 20 20 20 20 20 served;.
32f0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 46 6c DWORD Fl
3300: 61 67 73 45 78 3b 0a 20 20 20 20 7d 20 20 20 20 agsEx;. }
3310: 0a 7d 0a 61 6c 69 61 73 20 4f 50 45 4e 46 49 4c .}.alias OPENFIL
3320: 45 4e 41 4d 45 41 2a 20 4c 50 4f 50 45 4e 46 49 ENAMEA* LPOPENFI
3330: 4c 45 4e 41 4d 45 41 3b 0a 0a 73 74 72 75 63 74 LENAMEA;..struct
3340: 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 57 20 7b OPENFILENAMEW {
3350: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 ..DWORD
3360: 6c 53 74 72 75 63 74 53 69 7a 65 20 3d 20 4f 50 lStructSize = OP
3370: 45 4e 46 49 4c 45 4e 41 4d 45 57 2e 73 69 7a 65 ENFILENAMEW.size
3380: 6f 66 3b 0a 09 48 57 4e 44 20 20 20 20 20 20 20 of;..HWND
3390: 20 20 20 68 77 6e 64 4f 77 6e 65 72 3b 0a 09 48 hwndOwner;..H
33a0: 49 4e 53 54 41 4e 43 45 20 20 20 20 20 68 49 6e INSTANCE hIn
33b0: 73 74 61 6e 63 65 3b 0a 09 4c 50 43 57 53 54 52 stance;..LPCWSTR
33c0: 20 20 20 20 20 20 20 6c 70 73 74 72 46 69 6c 74 lpstrFilt
33d0: 65 72 3b 0a 09 4c 50 57 53 54 52 20 20 20 20 20 er;..LPWSTR
33e0: 20 20 20 6c 70 73 74 72 43 75 73 74 6f 6d 46 69 lpstrCustomFi
33f0: 6c 74 65 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 lter;..DWORD
3400: 20 20 20 20 20 6e 4d 61 78 43 75 73 74 46 69 6c nMaxCustFil
3410: 74 65 72 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 ter;..DWORD
3420: 20 20 20 20 6e 46 69 6c 74 65 72 49 6e 64 65 78 nFilterIndex
3430: 3b 0a 09 4c 50 57 53 54 52 20 20 20 20 20 20 20 ;..LPWSTR
3440: 20 6c 70 73 74 72 46 69 6c 65 3b 0a 09 44 57 4f lpstrFile;..DWO
3450: 52 44 20 20 20 20 20 20 20 20 20 6e 4d 61 78 46 RD nMaxF
3460: 69 6c 65 3b 0a 09 4c 50 57 53 54 52 20 20 20 20 ile;..LPWSTR
3470: 20 20 20 20 6c 70 73 74 72 46 69 6c 65 54 69 74 lpstrFileTit
3480: 6c 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 le;..DWORD
3490: 20 20 20 6e 4d 61 78 46 69 6c 65 54 69 74 6c 65 nMaxFileTitle
34a0: 3b 0a 09 4c 50 43 57 53 54 52 20 20 20 20 20 20 ;..LPCWSTR
34b0: 20 6c 70 73 74 72 49 6e 69 74 69 61 6c 44 69 72 lpstrInitialDir
34c0: 3b 0a 09 4c 50 43 57 53 54 52 20 20 20 20 20 20 ;..LPCWSTR
34d0: 20 6c 70 73 74 72 54 69 74 6c 65 3b 0a 09 44 57 lpstrTitle;..DW
34e0: 4f 52 44 20 20 20 20 20 20 20 20 20 46 6c 61 67 ORD Flag
34f0: 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 s;..WORD
3500: 20 20 6e 46 69 6c 65 4f 66 66 73 65 74 3b 0a 09 nFileOffset;..
3510: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 6e 46 WORD nF
3520: 69 6c 65 45 78 74 65 6e 73 69 6f 6e 3b 0a 09 4c ileExtension;..L
3530: 50 43 57 53 54 52 20 20 20 20 20 20 20 6c 70 73 PCWSTR lps
3540: 74 72 44 65 66 45 78 74 3b 0a 09 44 57 4f 52 44 trDefExt;..DWORD
3550: 20 20 20 20 20 20 20 20 20 6c 43 75 73 74 44 61 lCustDa
3560: 74 61 3b 0a 09 4c 50 4f 46 4e 48 4f 4f 4b 50 52 ta;..LPOFNHOOKPR
3570: 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0a 09 4c 50 OC lpfnHook;..LP
3580: 43 57 53 54 52 20 20 20 20 20 20 20 6c 70 54 65 CWSTR lpTe
3590: 6d 70 6c 61 74 65 4e 61 6d 65 3b 0a 20 20 20 20 mplateName;.
35a0: 0a 20 20 20 20 73 74 61 74 69 63 20 69 66 20 28 . static if (
35b0: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c _WIN32_WINNT_ONL
35c0: 59 20 26 26 20 5f 57 49 4e 33 32 5f 57 49 4e 4e Y && _WIN32_WINN
35d0: 54 20 3e 3d 20 30 78 30 35 30 30 29 20 7b 0a 20 T >= 0x0500) {.
35e0: 20 20 20 20 20 20 20 76 6f 69 64 20 20 20 20 20 void
35f0: 20 20 20 20 20 2a 70 76 52 65 73 65 72 76 65 64 *pvReserved
3600: 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20 ;. DWORD
3610: 20 20 20 20 20 20 20 20 64 77 52 65 73 65 72 76 dwReserv
3620: 65 64 3b 0a 20 20 20 20 20 20 20 20 44 57 4f 52 ed;. DWOR
3630: 44 20 20 20 20 20 20 20 20 20 46 6c 61 67 73 45 D FlagsE
3640: 78 3b 0a 20 20 20 20 7d 20 20 20 20 20 20 20 0a x;. } .
3650: 7d 0a 61 6c 69 61 73 20 4f 50 45 4e 46 49 4c 45 }.alias OPENFILE
3660: 4e 41 4d 45 57 2a 20 4c 50 4f 50 45 4e 46 49 4c NAMEW* LPOPENFIL
3670: 45 4e 41 4d 45 57 3b 0a 0a 63 6f 6e 73 74 20 73 ENAMEW;..const s
3680: 69 7a 65 5f 74 20 4f 50 45 4e 46 49 4c 45 4e 41 ize_t OPENFILENA
3690: 4d 45 5f 53 49 5a 45 5f 56 45 52 53 49 4f 4e 5f ME_SIZE_VERSION_
36a0: 34 30 30 20 3d 20 37 36 3b 0a 0a 73 74 72 75 63 400 = 76;..struc
36b0: 74 20 4f 46 4e 4f 54 49 46 59 41 20 7b 0a 09 4e t OFNOTIFYA {..N
36c0: 4d 48 44 52 20 20 20 20 20 20 20 20 20 20 20 68 MHDR h
36d0: 64 72 3b 0a 09 4c 50 4f 50 45 4e 46 49 4c 45 4e dr;..LPOPENFILEN
36e0: 41 4d 45 41 20 6c 70 4f 46 4e 3b 0a 09 4c 50 53 AMEA lpOFN;..LPS
36f0: 54 52 20 20 20 20 20 20 20 20 20 20 20 70 73 7a TR psz
3700: 46 69 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 4f 46 File;.}.alias OF
3710: 4e 4f 54 49 46 59 41 2a 20 4c 50 4f 46 4e 4f 54 NOTIFYA* LPOFNOT
3720: 49 46 59 41 3b 0a 0a 73 74 72 75 63 74 20 4f 46 IFYA;..struct OF
3730: 4e 4f 54 49 46 59 57 20 7b 0a 09 4e 4d 48 44 52 NOTIFYW {..NMHDR
3740: 20 20 20 20 20 20 20 20 20 20 20 68 64 72 3b 0a hdr;.
3750: 09 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 57 .LPOPENFILENAMEW
3760: 20 6c 70 4f 46 4e 3b 0a 09 4c 50 57 53 54 52 20 lpOFN;..LPWSTR
3770: 20 20 20 20 20 20 20 20 20 70 73 7a 46 69 6c 65 pszFile
3780: 3b 0a 7d 0a 61 6c 69 61 73 20 4f 46 4e 4f 54 49 ;.}.alias OFNOTI
3790: 46 59 57 2a 20 4c 50 4f 46 4e 4f 54 49 46 59 57 FYW* LPOFNOTIFYW
37a0: 3b 0a 0a 73 74 72 75 63 74 20 50 41 47 45 53 45 ;..struct PAGESE
37b0: 54 55 50 44 4c 47 41 20 7b 0a 09 44 57 4f 52 44 TUPDLGA {..DWORD
37c0: 20 20 20 20 20 20 20 20 20 20 20 6c 53 74 72 75 lStru
37d0: 63 74 53 69 7a 65 20 3d 20 50 41 47 45 53 45 54 ctSize = PAGESET
37e0: 55 50 44 4c 47 41 2e 73 69 7a 65 6f 66 3b 0a 09 UPDLGA.sizeof;..
37f0: 48 57 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 HWND
3800: 68 77 6e 64 4f 77 6e 65 72 3b 0a 09 48 47 4c 4f hwndOwner;..HGLO
3810: 42 41 4c 20 20 20 20 20 20 20 20 20 68 44 65 76 BAL hDev
3820: 4d 6f 64 65 3b 0a 09 48 47 4c 4f 42 41 4c 20 20 Mode;..HGLOBAL
3830: 20 20 20 20 20 20 20 68 44 65 76 4e 61 6d 65 73 hDevNames
3840: 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ;..DWORD
3850: 20 20 20 46 6c 61 67 73 3b 0a 09 50 4f 49 4e 54 Flags;..POINT
3860: 20 20 20 20 20 20 20 20 20 20 20 70 74 50 61 70 ptPap
3870: 65 72 53 69 7a 65 3b 0a 09 52 45 43 54 20 20 20 erSize;..RECT
3880: 20 20 20 20 20 20 20 20 20 72 74 4d 69 6e 4d 61 rtMinMa
3890: 72 67 69 6e 3b 0a 09 52 45 43 54 20 20 20 20 20 rgin;..RECT
38a0: 20 20 20 20 20 20 20 72 74 4d 61 72 67 69 6e 3b rtMargin;
38b0: 0a 09 48 49 4e 53 54 41 4e 43 45 20 20 20 20 20 ..HINSTANCE
38c0: 20 20 68 49 6e 73 74 61 6e 63 65 3b 0a 09 4c 50 hInstance;..LP
38d0: 41 52 41 4d 20 20 20 20 20 20 20 20 20 20 6c 43 ARAM lC
38e0: 75 73 74 44 61 74 61 3b 0a 09 4c 50 50 41 47 45 ustData;..LPPAGE
38f0: 53 45 54 55 50 48 4f 4f 4b 20 6c 70 66 6e 50 61 SETUPHOOK lpfnPa
3900: 67 65 53 65 74 75 70 48 6f 6f 6b 3b 0a 09 4c 50 geSetupHook;..LP
3910: 50 41 47 45 50 41 49 4e 54 48 4f 4f 4b 20 6c 70 PAGEPAINTHOOK lp
3920: 66 6e 50 61 67 65 50 61 69 6e 74 48 6f 6f 6b 3b fnPagePaintHook;
3930: 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 20 ..LPCSTR
3940: 20 20 6c 70 50 61 67 65 53 65 74 75 70 54 65 6d lpPageSetupTem
3950: 70 6c 61 74 65 4e 61 6d 65 3b 0a 09 48 47 4c 4f plateName;..HGLO
3960: 42 41 4c 20 20 20 20 20 20 20 20 20 68 50 61 67 BAL hPag
3970: 65 53 65 74 75 70 54 65 6d 70 6c 61 74 65 3b 0a eSetupTemplate;.
3980: 7d 0a 61 6c 69 61 73 20 50 41 47 45 53 45 54 55 }.alias PAGESETU
3990: 50 44 4c 47 41 2a 20 4c 50 50 41 47 45 53 45 54 PDLGA* LPPAGESET
39a0: 55 50 44 4c 47 41 3b 0a 0a 73 74 72 75 63 74 20 UPDLGA;..struct
39b0: 50 41 47 45 53 45 54 55 50 44 4c 47 57 20 7b 0a PAGESETUPDLGW {.
39c0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 .DWORD
39d0: 20 6c 53 74 72 75 63 74 53 69 7a 65 20 3d 20 50 lStructSize = P
39e0: 41 47 45 53 45 54 55 50 44 4c 47 57 2e 73 69 7a AGESETUPDLGW.siz
39f0: 65 6f 66 3b 0a 09 48 57 4e 44 20 20 20 20 20 20 eof;..HWND
3a00: 20 20 20 20 20 20 68 77 6e 64 4f 77 6e 65 72 3b hwndOwner;
3a10: 0a 09 48 47 4c 4f 42 41 4c 20 20 20 20 20 20 20 ..HGLOBAL
3a20: 20 20 68 44 65 76 4d 6f 64 65 3b 0a 09 48 47 4c hDevMode;..HGL
3a30: 4f 42 41 4c 20 20 20 20 20 20 20 20 20 68 44 65 OBAL hDe
3a40: 76 4e 61 6d 65 73 3b 0a 09 44 57 4f 52 44 20 20 vNames;..DWORD
3a50: 20 20 20 20 20 20 20 20 20 46 6c 61 67 73 3b 0a Flags;.
3a60: 09 50 4f 49 4e 54 20 20 20 20 20 20 20 20 20 20 .POINT
3a70: 20 70 74 50 61 70 65 72 53 69 7a 65 3b 0a 09 52 ptPaperSize;..R
3a80: 45 43 54 20 20 20 20 20 20 20 20 20 20 20 20 72 ECT r
3a90: 74 4d 69 6e 4d 61 72 67 69 6e 3b 0a 09 52 45 43 tMinMargin;..REC
3aa0: 54 20 20 20 20 20 20 20 20 20 20 20 20 72 74 4d T rtM
3ab0: 61 72 67 69 6e 3b 0a 09 48 49 4e 53 54 41 4e 43 argin;..HINSTANC
3ac0: 45 20 20 20 20 20 20 20 68 49 6e 73 74 61 6e 63 E hInstanc
3ad0: 65 3b 0a 09 4c 50 41 52 41 4d 20 20 20 20 20 20 e;..LPARAM
3ae0: 20 20 20 20 6c 43 75 73 74 44 61 74 61 3b 0a 09 lCustData;..
3af0: 4c 50 50 41 47 45 53 45 54 55 50 48 4f 4f 4b 20 LPPAGESETUPHOOK
3b00: 6c 70 66 6e 50 61 67 65 53 65 74 75 70 48 6f 6f lpfnPageSetupHoo
3b10: 6b 3b 0a 09 4c 50 50 41 47 45 50 41 49 4e 54 48 k;..LPPAGEPAINTH
3b20: 4f 4f 4b 20 6c 70 66 6e 50 61 67 65 50 61 69 6e OOK lpfnPagePain
3b30: 74 48 6f 6f 6b 3b 0a 09 4c 50 43 57 53 54 52 20 tHook;..LPCWSTR
3b40: 20 20 20 20 20 20 20 20 6c 70 50 61 67 65 53 65 lpPageSe
3b50: 74 75 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b tupTemplateName;
3b60: 0a 09 48 47 4c 4f 42 41 4c 20 20 20 20 20 20 20 ..HGLOBAL
3b70: 20 20 68 50 61 67 65 53 65 74 75 70 54 65 6d 70 hPageSetupTemp
3b80: 6c 61 74 65 3b 0a 7d 0a 61 6c 69 61 73 20 50 41 late;.}.alias PA
3b90: 47 45 53 45 54 55 50 44 4c 47 57 2a 20 4c 50 50 GESETUPDLGW* LPP
3ba0: 41 47 45 53 45 54 55 50 44 4c 47 57 3b 0a 0a 73 AGESETUPDLGW;..s
3bb0: 74 72 75 63 74 20 50 52 49 4e 54 44 4c 47 41 20 truct PRINTDLGA
3bc0: 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 {..DWORD
3bd0: 20 20 20 6c 53 74 72 75 63 74 53 69 7a 65 20 3d lStructSize =
3be0: 20 50 52 49 4e 54 44 4c 47 41 2e 73 69 7a 65 6f PRINTDLGA.sizeo
3bf0: 66 3b 0a 09 48 57 4e 44 20 20 20 20 20 20 20 20 f;..HWND
3c00: 20 20 20 20 68 77 6e 64 4f 77 6e 65 72 3b 0a 09 hwndOwner;..
3c10: 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 HANDLE
3c20: 68 44 65 76 4d 6f 64 65 3b 0a 09 48 41 4e 44 4c hDevMode;..HANDL
3c30: 45 20 20 20 20 20 20 20 20 20 20 68 44 65 76 4e E hDevN
3c40: 61 6d 65 73 3b 0a 09 48 44 43 20 20 20 20 20 20 ames;..HDC
3c50: 20 20 20 20 20 20 20 68 44 43 3b 0a 09 44 57 4f hDC;..DWO
3c60: 52 44 20 20 20 20 20 20 20 20 20 20 20 46 6c 61 RD Fla
3c70: 67 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 20 gs;..WORD
3c80: 20 20 20 20 20 6e 46 72 6f 6d 50 61 67 65 3b 0a nFromPage;.
3c90: 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 .WORD
3ca0: 20 6e 54 6f 50 61 67 65 3b 0a 09 57 4f 52 44 20 nToPage;..WORD
3cb0: 20 20 20 20 20 20 20 20 20 20 20 6e 4d 69 6e 50 nMinP
3cc0: 61 67 65 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 age;..WORD
3cd0: 20 20 20 20 20 20 6e 4d 61 78 50 61 67 65 3b 0a nMaxPage;.
3ce0: 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 .WORD
3cf0: 20 6e 43 6f 70 69 65 73 3b 0a 09 48 49 4e 53 54 nCopies;..HINST
3d00: 41 4e 43 45 20 20 20 20 20 20 20 68 49 6e 73 74 ANCE hInst
3d10: 61 6e 63 65 3b 0a 09 44 57 4f 52 44 20 20 20 20 ance;..DWORD
3d20: 20 20 20 20 20 20 20 6c 43 75 73 74 44 61 74 61 lCustData
3d30: 3b 0a 09 4c 50 50 52 49 4e 54 48 4f 4f 4b 50 52 ;..LPPRINTHOOKPR
3d40: 4f 43 20 6c 70 66 6e 50 72 69 6e 74 48 6f 6f 6b OC lpfnPrintHook
3d50: 3b 0a 09 4c 50 53 45 54 55 50 48 4f 4f 4b 50 52 ;..LPSETUPHOOKPR
3d60: 4f 43 20 6c 70 66 6e 53 65 74 75 70 48 6f 6f 6b OC lpfnSetupHook
3d70: 3b 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 ;..LPCSTR
3d80: 20 20 20 6c 70 50 72 69 6e 74 54 65 6d 70 6c 61 lpPrintTempla
3d90: 74 65 4e 61 6d 65 3b 0a 09 4c 50 43 53 54 52 20 teName;..LPCSTR
3da0: 20 20 20 20 20 20 20 20 20 6c 70 53 65 74 75 70 lpSetup
3db0: 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0a 09 48 TemplateName;..H
3dc0: 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 68 ANDLE h
3dd0: 50 72 69 6e 74 54 65 6d 70 6c 61 74 65 3b 0a 09 PrintTemplate;..
3de0: 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 HANDLE
3df0: 68 53 65 74 75 70 54 65 6d 70 6c 61 74 65 3b 0a hSetupTemplate;.
3e00: 7d 0a 61 6c 69 61 73 20 50 52 49 4e 54 44 4c 47 }.alias PRINTDLG
3e10: 41 2a 20 4c 50 50 52 49 4e 54 44 4c 47 41 3b 0a A* LPPRINTDLGA;.
3e20: 0a 73 74 72 75 63 74 20 50 52 49 4e 54 44 4c 47 .struct PRINTDLG
3e30: 57 20 7b 0a 09 44 57 4f 52 44 20 20 20 20 20 20 W {..DWORD
3e40: 20 20 20 20 20 6c 53 74 72 75 63 74 53 69 7a 65 lStructSize
3e50: 20 3d 20 50 52 49 4e 54 44 4c 47 57 2e 73 69 7a = PRINTDLGW.siz
3e60: 65 6f 66 3b 0a 09 48 57 4e 44 20 20 20 20 20 20 eof;..HWND
3e70: 20 20 20 20 20 20 68 77 6e 64 4f 77 6e 65 72 3b hwndOwner;
3e80: 0a 09 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 ..HANDLE
3e90: 20 20 68 44 65 76 4d 6f 64 65 3b 0a 09 48 41 4e hDevMode;..HAN
3ea0: 44 4c 45 20 20 20 20 20 20 20 20 20 20 68 44 65 DLE hDe
3eb0: 76 4e 61 6d 65 73 3b 0a 09 48 44 43 20 20 20 20 vNames;..HDC
3ec0: 20 20 20 20 20 20 20 20 20 68 44 43 3b 0a 09 44 hDC;..D
3ed0: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 46 WORD F
3ee0: 6c 61 67 73 3b 0a 09 57 4f 52 44 20 20 20 20 20 lags;..WORD
3ef0: 20 20 20 20 20 20 20 6e 46 72 6f 6d 50 61 67 65 nFromPage
3f00: 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 ;..WORD
3f10: 20 20 20 6e 54 6f 50 61 67 65 3b 0a 09 57 4f 52 nToPage;..WOR
3f20: 44 20 20 20 20 20 20 20 20 20 20 20 20 6e 4d 69 D nMi
3f30: 6e 50 61 67 65 3b 0a 09 57 4f 52 44 20 20 20 20 nPage;..WORD
3f40: 20 20 20 20 20 20 20 20 6e 4d 61 78 50 61 67 65 nMaxPage
3f50: 3b 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 ;..WORD
3f60: 20 20 20 6e 43 6f 70 69 65 73 3b 0a 09 48 49 4e nCopies;..HIN
3f70: 53 54 41 4e 43 45 20 20 20 20 20 20 20 68 49 6e STANCE hIn
3f80: 73 74 61 6e 63 65 3b 0a 09 44 57 4f 52 44 20 20 stance;..DWORD
3f90: 20 20 20 20 20 20 20 20 20 6c 43 75 73 74 44 61 lCustDa
3fa0: 74 61 3b 0a 09 4c 50 50 52 49 4e 54 48 4f 4f 4b ta;..LPPRINTHOOK
3fb0: 50 52 4f 43 20 6c 70 66 6e 50 72 69 6e 74 48 6f PROC lpfnPrintHo
3fc0: 6f 6b 3b 0a 09 4c 50 53 45 54 55 50 48 4f 4f 4b ok;..LPSETUPHOOK
3fd0: 50 52 4f 43 20 6c 70 66 6e 53 65 74 75 70 48 6f PROC lpfnSetupHo
3fe0: 6f 6b 3b 0a 09 4c 50 43 57 53 54 52 20 20 20 20 ok;..LPCWSTR
3ff0: 20 20 20 20 20 6c 70 50 72 69 6e 74 54 65 6d 70 lpPrintTemp
4000: 6c 61 74 65 4e 61 6d 65 3b 0a 09 4c 50 43 57 53 lateName;..LPCWS
4010: 54 52 20 20 20 20 20 20 20 20 20 6c 70 53 65 74 TR lpSet
4020: 75 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0a upTemplateName;.
4030: 09 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 .HANDLE
4040: 20 68 50 72 69 6e 74 54 65 6d 70 6c 61 74 65 3b hPrintTemplate;
4050: 0a 09 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 ..HANDLE
4060: 20 20 68 53 65 74 75 70 54 65 6d 70 6c 61 74 65 hSetupTemplate
4070: 3b 0a 7d 0a 61 6c 69 61 73 20 50 52 49 4e 54 44 ;.}.alias PRINTD
4080: 4c 47 57 2a 20 4c 50 50 52 49 4e 54 44 4c 47 57 LGW* LPPRINTDLGW
4090: 3b 0a 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 ;..static if (_W
40a0: 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 IN32_WINNT_ONLY
40b0: 26 26 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 && _WIN32_WINNT
40c0: 3e 3d 20 30 78 35 30 30 29 20 7b 0a 09 69 6d 70 >= 0x500) {..imp
40d0: 6f 72 74 20 77 69 6e 33 32 2e 75 6e 6b 6e 77 6e ort win32.unknwn
40e0: 3b 20 2f 2f 20 66 6f 72 20 4c 50 55 4e 4b 4e 4f ; // for LPUNKNO
40f0: 57 4e 0a 09 69 6d 70 6f 72 74 20 77 69 6e 33 32 WN..import win32
4100: 2e 70 72 73 68 74 3b 20 20 2f 2f 20 66 6f 72 20 .prsht; // for
4110: 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 0a 0a HPROPSHEETPAGE..
4120: 09 73 74 72 75 63 74 20 50 52 49 4e 54 50 41 47 .struct PRINTPAG
4130: 45 52 41 4e 47 45 20 7b 0a 09 09 44 57 4f 52 44 ERANGE {...DWORD
4140: 20 20 6e 46 72 6f 6d 50 61 67 65 3b 0a 09 09 44 nFromPage;...D
4150: 57 4f 52 44 20 20 6e 54 6f 50 61 67 65 3b 0a 09 WORD nToPage;..
4160: 7d 0a 09 61 6c 69 61 73 20 50 52 49 4e 54 50 41 }..alias PRINTPA
4170: 47 45 52 41 4e 47 45 2a 20 4c 50 50 52 49 4e 54 GERANGE* LPPRINT
4180: 50 41 47 45 52 41 4e 47 45 3b 0a 0a 09 73 74 72 PAGERANGE;...str
4190: 75 63 74 20 50 52 49 4e 54 44 4c 47 45 58 41 20 uct PRINTDLGEXA
41a0: 7b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 {...DWORD
41b0: 20 20 20 20 20 6c 53 74 72 75 63 74 53 69 7a 65 lStructSize
41c0: 20 3d 20 50 52 49 4e 54 44 4c 47 45 58 41 2e 73 = PRINTDLGEXA.s
41d0: 69 7a 65 6f 66 3b 0a 09 09 48 57 4e 44 20 20 20 izeof;...HWND
41e0: 20 20 20 20 20 20 20 20 20 20 68 77 6e 64 4f 77 hwndOw
41f0: 6e 65 72 3b 0a 09 09 48 47 4c 4f 42 41 4c 20 20 ner;...HGLOBAL
4200: 20 20 20 20 20 20 20 20 68 44 65 76 4d 6f 64 65 hDevMode
4210: 3b 0a 09 09 48 47 4c 4f 42 41 4c 20 20 20 20 20 ;...HGLOBAL
4220: 20 20 20 20 20 68 44 65 76 4e 61 6d 65 73 3b 0a hDevNames;.
4230: 09 09 48 44 43 20 20 20 20 20 20 20 20 20 20 20 ..HDC
4240: 20 20 20 68 44 43 3b 0a 09 09 44 57 4f 52 44 20 hDC;...DWORD
4250: 20 20 20 20 20 20 20 20 20 20 20 46 6c 61 67 73 Flags
4260: 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD
4270: 20 20 20 20 20 46 6c 61 67 73 32 3b 0a 09 09 44 Flags2;...D
4280: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 WORD
4290: 45 78 63 6c 75 73 69 6f 6e 46 6c 61 67 73 3b 0a ExclusionFlags;.
42a0: 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 ..DWORD
42b0: 20 20 20 6e 50 61 67 65 52 61 6e 67 65 73 3b 0a nPageRanges;.
42c0: 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 ..DWORD
42d0: 20 20 20 6e 4d 61 78 50 61 67 65 52 61 6e 67 65 nMaxPageRange
42e0: 73 3b 0a 09 09 4c 50 50 52 49 4e 54 50 41 47 45 s;...LPPRINTPAGE
42f0: 52 41 4e 47 45 20 6c 70 50 61 67 65 52 61 6e 67 RANGE lpPageRang
4300: 65 73 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 es;...DWORD
4310: 20 20 20 20 20 20 20 6e 4d 69 6e 50 61 67 65 3b nMinPage;
4320: 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
4330: 20 20 20 20 6e 4d 61 78 50 61 67 65 3b 0a 09 09 nMaxPage;...
4340: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 DWORD
4350: 20 6e 43 6f 70 69 65 73 3b 0a 09 09 48 49 4e 53 nCopies;...HINS
4360: 54 41 4e 43 45 20 20 20 20 20 20 20 20 68 49 6e TANCE hIn
4370: 73 74 61 6e 63 65 3b 0a 09 09 4c 50 43 53 54 52 stance;...LPCSTR
4380: 20 20 20 20 20 20 20 20 20 20 20 6c 70 50 72 69 lpPri
4390: 6e 74 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0a ntTemplateName;.
43a0: 09 09 4c 50 55 4e 4b 4e 4f 57 4e 20 20 20 20 20 ..LPUNKNOWN
43b0: 20 20 20 6c 70 43 61 6c 6c 62 61 63 6b 3b 0a 09 lpCallback;..
43c0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 .DWORD
43d0: 20 20 6e 50 72 6f 70 65 72 74 79 50 61 67 65 73 nPropertyPages
43e0: 3b 0a 09 09 48 50 52 4f 50 53 48 45 45 54 50 41 ;...HPROPSHEETPA
43f0: 47 45 2a 20 20 6c 70 68 50 72 6f 70 65 72 74 79 GE* lphProperty
4400: 50 61 67 65 73 3b 0a 09 09 44 57 4f 52 44 20 20 Pages;...DWORD
4410: 20 20 20 20 20 20 20 20 20 20 6e 53 74 61 72 74 nStart
4420: 50 61 67 65 3b 0a 09 09 44 57 4f 52 44 20 20 20 Page;...DWORD
4430: 20 20 20 20 20 20 20 20 20 64 77 52 65 73 75 6c dwResul
4440: 74 41 63 74 69 6f 6e 3b 0a 09 7d 0a 09 61 6c 69 tAction;..}..ali
4450: 61 73 20 50 52 49 4e 54 44 4c 47 45 58 41 2a 20 as PRINTDLGEXA*
4460: 4c 50 50 52 49 4e 54 44 4c 47 45 58 41 3b 0a 0a LPPRINTDLGEXA;..
4470: 09 73 74 72 75 63 74 20 50 52 49 4e 54 44 4c 47 .struct PRINTDLG
4480: 45 58 57 20 7b 0a 09 09 44 57 4f 52 44 20 20 20 EXW {...DWORD
4490: 20 20 20 20 20 20 20 20 20 6c 53 74 72 75 63 74 lStruct
44a0: 53 69 7a 65 20 3d 20 50 52 49 4e 54 44 4c 47 45 Size = PRINTDLGE
44b0: 58 57 2e 73 69 7a 65 6f 66 3b 0a 09 09 48 57 4e XW.sizeof;...HWN
44c0: 44 20 20 20 20 20 20 20 20 20 20 20 20 20 68 77 D hw
44d0: 6e 64 4f 77 6e 65 72 3b 0a 09 09 48 47 4c 4f 42 ndOwner;...HGLOB
44e0: 41 4c 20 20 20 20 20 20 20 20 20 20 68 44 65 76 AL hDev
44f0: 4d 6f 64 65 3b 0a 09 09 48 47 4c 4f 42 41 4c 20 Mode;...HGLOBAL
4500: 20 20 20 20 20 20 20 20 20 68 44 65 76 4e 61 6d hDevNam
4510: 65 73 3b 0a 09 09 48 44 43 20 20 20 20 20 20 20 es;...HDC
4520: 20 20 20 20 20 20 20 68 44 43 3b 0a 09 09 44 57 hDC;...DW
4530: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 46 ORD F
4540: 6c 61 67 73 3b 0a 09 09 44 57 4f 52 44 20 20 20 lags;...DWORD
4550: 20 20 20 20 20 20 20 20 20 46 6c 61 67 73 32 3b Flags2;
4560: 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
4570: 20 20 20 20 45 78 63 6c 75 73 69 6f 6e 46 6c 61 ExclusionFla
4580: 67 73 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 gs;...DWORD
4590: 20 20 20 20 20 20 20 6e 50 61 67 65 52 61 6e 67 nPageRang
45a0: 65 73 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 es;...DWORD
45b0: 20 20 20 20 20 20 20 6e 4d 61 78 50 61 67 65 52 nMaxPageR
45c0: 61 6e 67 65 73 3b 0a 09 09 4c 50 50 52 49 4e 54 anges;...LPPRINT
45d0: 50 41 47 45 52 41 4e 47 45 20 6c 70 50 61 67 65 PAGERANGE lpPage
45e0: 52 61 6e 67 65 73 3b 0a 09 09 44 57 4f 52 44 20 Ranges;...DWORD
45f0: 20 20 20 20 20 20 20 20 20 20 20 6e 4d 69 6e 50 nMinP
4600: 61 67 65 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 age;...DWORD
4610: 20 20 20 20 20 20 20 20 6e 4d 61 78 50 61 67 65 nMaxPage
4620: 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD
4630: 20 20 20 20 20 6e 43 6f 70 69 65 73 3b 0a 09 09 nCopies;...
4640: 48 49 4e 53 54 41 4e 43 45 20 20 20 20 20 20 20 HINSTANCE
4650: 20 68 49 6e 73 74 61 6e 63 65 3b 0a 09 09 4c 50 hInstance;...LP
4660: 43 57 53 54 52 20 20 20 20 20 20 20 20 20 20 6c CWSTR l
4670: 70 50 72 69 6e 74 54 65 6d 70 6c 61 74 65 4e 61 pPrintTemplateNa
4680: 6d 65 3b 0a 09 09 4c 50 55 4e 4b 4e 4f 57 4e 20 me;...LPUNKNOWN
4690: 20 20 20 20 20 20 20 6c 70 43 61 6c 6c 62 61 63 lpCallbac
46a0: 6b 3b 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 k;...DWORD
46b0: 20 20 20 20 20 20 6e 50 72 6f 70 65 72 74 79 50 nPropertyP
46c0: 61 67 65 73 3b 0a 09 09 48 50 52 4f 50 53 48 45 ages;...HPROPSHE
46d0: 45 54 50 41 47 45 2a 20 20 6c 70 68 50 72 6f 70 ETPAGE* lphProp
46e0: 65 72 74 79 50 61 67 65 73 3b 0a 09 09 44 57 4f ertyPages;...DWO
46f0: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 6e 53 RD nS
4700: 74 61 72 74 50 61 67 65 3b 0a 09 09 44 57 4f 52 tartPage;...DWOR
4710: 44 20 20 20 20 20 20 20 20 20 20 20 20 64 77 52 D dwR
4720: 65 73 75 6c 74 41 63 74 69 6f 6e 3b 0a 09 7d 0a esultAction;..}.
4730: 09 61 6c 69 61 73 20 50 52 49 4e 54 44 4c 47 45 .alias PRINTDLGE
4740: 58 57 2a 20 4c 50 50 52 49 4e 54 44 4c 47 45 58 XW* LPPRINTDLGEX
4750: 57 3b 0a 0a 7d 20 2f 2f 20 5f 57 49 4e 33 32 5f W;..} // _WIN32_
4760: 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26 20 5f 57 WINNT_ONLY && _W
4770: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 IN32_WINNT >= 0x
4780: 35 30 30 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 500..extern (Win
4790: 64 6f 77 73 29 20 7b 0a 09 42 4f 4f 4c 20 43 68 dows) {..BOOL Ch
47a0: 6f 6f 73 65 43 6f 6c 6f 72 41 28 4c 50 43 48 4f ooseColorA(LPCHO
47b0: 4f 53 45 43 4f 4c 4f 52 41 29 3b 0a 09 42 4f 4f OSECOLORA);..BOO
47c0: 4c 20 43 68 6f 6f 73 65 43 6f 6c 6f 72 57 28 4c L ChooseColorW(L
47d0: 50 43 48 4f 4f 53 45 43 4f 4c 4f 52 57 29 3b 0a PCHOOSECOLORW);.
47e0: 09 42 4f 4f 4c 20 43 68 6f 6f 73 65 46 6f 6e 74 .BOOL ChooseFont
47f0: 41 28 4c 50 43 48 4f 4f 53 45 46 4f 4e 54 41 29 A(LPCHOOSEFONTA)
4800: 3b 0a 09 42 4f 4f 4c 20 43 68 6f 6f 73 65 46 6f ;..BOOL ChooseFo
4810: 6e 74 57 28 4c 50 43 48 4f 4f 53 45 46 4f 4e 54 ntW(LPCHOOSEFONT
4820: 57 29 3b 0a 09 44 57 4f 52 44 20 43 6f 6d 6d 44 W);..DWORD CommD
4830: 6c 67 45 78 74 65 6e 64 65 64 45 72 72 6f 72 28 lgExtendedError(
4840: 29 3b 0a 09 48 57 4e 44 20 46 69 6e 64 54 65 78 );..HWND FindTex
4850: 74 41 28 4c 50 46 49 4e 44 52 45 50 4c 41 43 45 tA(LPFINDREPLACE
4860: 41 29 3b 0a 09 48 57 4e 44 20 46 69 6e 64 54 65 A);..HWND FindTe
4870: 78 74 57 28 4c 50 46 49 4e 44 52 45 50 4c 41 43 xtW(LPFINDREPLAC
4880: 45 57 29 3b 0a 09 73 68 6f 72 74 20 47 65 74 46 EW);..short GetF
4890: 69 6c 65 54 69 74 6c 65 41 28 4c 50 43 53 54 52 ileTitleA(LPCSTR
48a0: 2c 20 4c 50 53 54 52 2c 20 57 4f 52 44 29 3b 0a , LPSTR, WORD);.
48b0: 09 73 68 6f 72 74 20 47 65 74 46 69 6c 65 54 69 .short GetFileTi
48c0: 74 6c 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 tleW(LPCWSTR, LP
48d0: 57 53 54 52 2c 20 57 4f 52 44 29 3b 0a 09 42 4f WSTR, WORD);..BO
48e0: 4f 4c 20 47 65 74 4f 70 65 6e 46 69 6c 65 4e 61 OL GetOpenFileNa
48f0: 6d 65 41 28 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 meA(LPOPENFILENA
4900: 4d 45 41 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 4f MEA);..BOOL GetO
4910: 70 65 6e 46 69 6c 65 4e 61 6d 65 57 28 4c 50 4f penFileNameW(LPO
4920: 50 45 4e 46 49 4c 45 4e 41 4d 45 57 29 3b 0a 09 PENFILENAMEW);..
4930: 42 4f 4f 4c 20 47 65 74 53 61 76 65 46 69 6c 65 BOOL GetSaveFile
4940: 4e 61 6d 65 41 28 4c 50 4f 50 45 4e 46 49 4c 45 NameA(LPOPENFILE
4950: 4e 41 4d 45 41 29 3b 0a 09 42 4f 4f 4c 20 47 65 NAMEA);..BOOL Ge
4960: 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 57 28 4c tSaveFileNameW(L
4970: 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 57 29 3b POPENFILENAMEW);
4980: 0a 09 42 4f 4f 4c 20 50 61 67 65 53 65 74 75 70 ..BOOL PageSetup
4990: 44 6c 67 41 28 4c 50 50 41 47 45 53 45 54 55 50 DlgA(LPPAGESETUP
49a0: 44 4c 47 41 29 3b 0a 09 42 4f 4f 4c 20 50 61 67 DLGA);..BOOL Pag
49b0: 65 53 65 74 75 70 44 6c 67 57 28 4c 50 50 41 47 eSetupDlgW(LPPAG
49c0: 45 53 45 54 55 50 44 4c 47 57 29 3b 0a 09 42 4f ESETUPDLGW);..BO
49d0: 4f 4c 20 50 72 69 6e 74 44 6c 67 41 28 4c 50 50 OL PrintDlgA(LPP
49e0: 52 49 4e 54 44 4c 47 41 29 3b 0a 09 42 4f 4f 4c RINTDLGA);..BOOL
49f0: 20 50 72 69 6e 74 44 6c 67 57 28 4c 50 50 52 49 PrintDlgW(LPPRI
4a00: 4e 54 44 4c 47 57 29 3b 0a 09 48 57 4e 44 20 52 NTDLGW);..HWND R
4a10: 65 70 6c 61 63 65 54 65 78 74 41 28 4c 50 46 49 eplaceTextA(LPFI
4a20: 4e 44 52 45 50 4c 41 43 45 41 29 3b 0a 09 48 57 NDREPLACEA);..HW
4a30: 4e 44 20 52 65 70 6c 61 63 65 54 65 78 74 57 28 ND ReplaceTextW(
4a40: 4c 50 46 49 4e 44 52 45 50 4c 41 43 45 57 29 3b LPFINDREPLACEW);
4a50: 0a 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 ...static if (_W
4a60: 49 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 IN32_WINNT_ONLY
4a70: 26 26 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 && _WIN32_WINNT
4a80: 3e 3d 20 30 78 35 30 30 29 20 7b 0a 09 09 48 52 >= 0x500) {...HR
4a90: 45 53 55 4c 54 20 50 72 69 6e 74 44 6c 67 45 78 ESULT PrintDlgEx
4aa0: 41 28 4c 50 50 52 49 4e 54 44 4c 47 45 58 41 29 A(LPPRINTDLGEXA)
4ab0: 3b 0a 09 09 48 52 45 53 55 4c 54 20 50 72 69 6e ;...HRESULT Prin
4ac0: 74 44 6c 67 45 78 57 28 4c 50 50 52 49 4e 54 44 tDlgExW(LPPRINTD
4ad0: 4c 47 45 58 57 29 3b 0a 09 7d 0a 7d 0a 0a 76 65 LGEXW);..}.}..ve
4ae0: 72 73 69 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 rsion (Unicode)
4af0: 7b 0a 09 61 6c 69 61 73 20 43 48 4f 4f 53 45 43 {..alias CHOOSEC
4b00: 4f 4c 4f 52 57 20 43 48 4f 4f 53 45 43 4f 4c 4f OLORW CHOOSECOLO
4b10: 52 3b 0a 09 61 6c 69 61 73 20 43 48 4f 4f 53 45 R;..alias CHOOSE
4b20: 46 4f 4e 54 57 20 43 48 4f 4f 53 45 46 4f 4e 54 FONTW CHOOSEFONT
4b30: 3b 0a 09 61 6c 69 61 73 20 46 49 4e 44 52 45 50 ;..alias FINDREP
4b40: 4c 41 43 45 57 20 46 49 4e 44 52 45 50 4c 41 43 LACEW FINDREPLAC
4b50: 45 3b 0a 09 61 6c 69 61 73 20 4f 50 45 4e 46 49 E;..alias OPENFI
4b60: 4c 45 4e 41 4d 45 57 20 4f 50 45 4e 46 49 4c 45 LENAMEW OPENFILE
4b70: 4e 41 4d 45 3b 0a 09 61 6c 69 61 73 20 4f 46 4e NAME;..alias OFN
4b80: 4f 54 49 46 59 57 20 4f 46 4e 4f 54 49 46 59 3b OTIFYW OFNOTIFY;
4b90: 0a 09 61 6c 69 61 73 20 50 41 47 45 53 45 54 55 ..alias PAGESETU
4ba0: 50 44 4c 47 57 20 50 41 47 45 53 45 54 55 50 44 PDLGW PAGESETUPD
4bb0: 4c 47 3b 0a 09 61 6c 69 61 73 20 50 52 49 4e 54 LG;..alias PRINT
4bc0: 44 4c 47 57 20 50 52 49 4e 54 44 4c 47 3b 0a 0a DLGW PRINTDLG;..
4bd0: 09 61 6c 69 61 73 20 43 68 6f 6f 73 65 43 6f 6c .alias ChooseCol
4be0: 6f 72 57 20 43 68 6f 6f 73 65 43 6f 6c 6f 72 3b orW ChooseColor;
4bf0: 0a 09 61 6c 69 61 73 20 43 68 6f 6f 73 65 46 6f ..alias ChooseFo
4c00: 6e 74 57 20 43 68 6f 6f 73 65 46 6f 6e 74 3b 0a ntW ChooseFont;.
4c10: 09 61 6c 69 61 73 20 46 69 6e 64 54 65 78 74 57 .alias FindTextW
4c20: 20 46 69 6e 64 54 65 78 74 3b 0a 09 61 6c 69 61 FindText;..alia
4c30: 73 20 47 65 74 46 69 6c 65 54 69 74 6c 65 57 20 s GetFileTitleW
4c40: 47 65 74 46 69 6c 65 54 69 74 6c 65 3b 0a 09 61 GetFileTitle;..a
4c50: 6c 69 61 73 20 47 65 74 4f 70 65 6e 46 69 6c 65 lias GetOpenFile
4c60: 4e 61 6d 65 57 20 47 65 74 4f 70 65 6e 46 69 6c NameW GetOpenFil
4c70: 65 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47 65 eName;..alias Ge
4c80: 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 57 20 47 tSaveFileNameW G
4c90: 65 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 3b 0a etSaveFileName;.
4ca0: 09 61 6c 69 61 73 20 50 61 67 65 53 65 74 75 70 .alias PageSetup
4cb0: 44 6c 67 57 20 50 61 67 65 53 65 74 75 70 44 6c DlgW PageSetupDl
4cc0: 67 3b 0a 09 61 6c 69 61 73 20 50 72 69 6e 74 44 g;..alias PrintD
4cd0: 6c 67 57 20 50 72 69 6e 74 44 6c 67 3b 0a 09 61 lgW PrintDlg;..a
4ce0: 6c 69 61 73 20 52 65 70 6c 61 63 65 54 65 78 74 lias ReplaceText
4cf0: 57 20 52 65 70 6c 61 63 65 54 65 78 74 3b 0a 0a W ReplaceText;..
4d00: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN
4d10: 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26 32_WINNT_ONLY &&
4d20: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d _WIN32_WINNT >=
4d30: 20 30 78 35 30 30 29 20 7b 0a 09 09 61 6c 69 61 0x500) {...alia
4d40: 73 20 50 52 49 4e 54 44 4c 47 45 58 57 20 50 52 s PRINTDLGEXW PR
4d50: 49 4e 54 44 4c 47 45 58 3b 0a 09 09 61 6c 69 61 INTDLGEX;...alia
4d60: 73 20 50 72 69 6e 74 44 6c 67 45 78 57 20 50 72 s PrintDlgExW Pr
4d70: 69 6e 74 44 6c 67 45 78 3b 0a 09 7d 0a 0a 7d 20 intDlgEx;..}..}
4d80: 65 6c 73 65 20 7b 20 2f 2f 20 55 4e 49 43 4f 44 else { // UNICOD
4d90: 45 0a 0a 09 61 6c 69 61 73 20 43 48 4f 4f 53 45 E...alias CHOOSE
4da0: 43 4f 4c 4f 52 41 20 43 48 4f 4f 53 45 43 4f 4c COLORA CHOOSECOL
4db0: 4f 52 3b 0a 09 61 6c 69 61 73 20 43 48 4f 4f 53 OR;..alias CHOOS
4dc0: 45 46 4f 4e 54 41 20 43 48 4f 4f 53 45 46 4f 4e EFONTA CHOOSEFON
4dd0: 54 3b 0a 09 61 6c 69 61 73 20 46 49 4e 44 52 45 T;..alias FINDRE
4de0: 50 4c 41 43 45 41 20 46 49 4e 44 52 45 50 4c 41 PLACEA FINDREPLA
4df0: 43 45 3b 0a 09 61 6c 69 61 73 20 4f 50 45 4e 46 CE;..alias OPENF
4e00: 49 4c 45 4e 41 4d 45 41 20 4f 50 45 4e 46 49 4c ILENAMEA OPENFIL
4e10: 45 4e 41 4d 45 3b 0a 09 61 6c 69 61 73 20 4f 46 ENAME;..alias OF
4e20: 4e 4f 54 49 46 59 41 20 4f 46 4e 4f 54 49 46 59 NOTIFYA OFNOTIFY
4e30: 3b 0a 09 61 6c 69 61 73 20 50 41 47 45 53 45 54 ;..alias PAGESET
4e40: 55 50 44 4c 47 41 20 50 41 47 45 53 45 54 55 50 UPDLGA PAGESETUP
4e50: 44 4c 47 3b 0a 09 61 6c 69 61 73 20 50 52 49 4e DLG;..alias PRIN
4e60: 54 44 4c 47 41 20 50 52 49 4e 54 44 4c 47 3b 0a TDLGA PRINTDLG;.
4e70: 0a 09 61 6c 69 61 73 20 43 68 6f 6f 73 65 43 6f ..alias ChooseCo
4e80: 6c 6f 72 41 20 43 68 6f 6f 73 65 43 6f 6c 6f 72 lorA ChooseColor
4e90: 3b 0a 09 61 6c 69 61 73 20 43 68 6f 6f 73 65 46 ;..alias ChooseF
4ea0: 6f 6e 74 41 20 43 68 6f 6f 73 65 46 6f 6e 74 3b ontA ChooseFont;
4eb0: 0a 09 61 6c 69 61 73 20 46 69 6e 64 54 65 78 74 ..alias FindText
4ec0: 41 20 46 69 6e 64 54 65 78 74 3b 0a 09 61 6c 69 A FindText;..ali
4ed0: 61 73 20 47 65 74 46 69 6c 65 54 69 74 6c 65 41 as GetFileTitleA
4ee0: 20 47 65 74 46 69 6c 65 54 69 74 6c 65 3b 0a 09 GetFileTitle;..
4ef0: 61 6c 69 61 73 20 47 65 74 4f 70 65 6e 46 69 6c alias GetOpenFil
4f00: 65 4e 61 6d 65 41 20 47 65 74 4f 70 65 6e 46 69 eNameA GetOpenFi
4f10: 6c 65 4e 61 6d 65 3b 0a 09 61 6c 69 61 73 20 47 leName;..alias G
4f20: 65 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 41 20 etSaveFileNameA
4f30: 47 65 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 3b GetSaveFileName;
4f40: 0a 09 61 6c 69 61 73 20 50 61 67 65 53 65 74 75 ..alias PageSetu
4f50: 70 44 6c 67 41 20 50 61 67 65 53 65 74 75 70 44 pDlgA PageSetupD
4f60: 6c 67 3b 0a 09 61 6c 69 61 73 20 50 72 69 6e 74 lg;..alias Print
4f70: 44 6c 67 41 20 50 72 69 6e 74 44 6c 67 3b 0a 09 DlgA PrintDlg;..
4f80: 61 6c 69 61 73 20 52 65 70 6c 61 63 65 54 65 78 alias ReplaceTex
4f90: 74 41 20 52 65 70 6c 61 63 65 54 65 78 74 3b 0a tA ReplaceText;.
4fa0: 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 ..static if (_WI
4fb0: 4e 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 N32_WINNT_ONLY &
4fc0: 26 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e & _WIN32_WINNT >
4fd0: 3d 20 30 78 35 30 30 29 20 7b 0a 09 09 61 6c 69 = 0x500) {...ali
4fe0: 61 73 20 50 52 49 4e 54 44 4c 47 45 58 41 20 50 as PRINTDLGEXA P
4ff0: 52 49 4e 54 44 4c 47 45 58 3b 0a 09 09 61 6c 69 RINTDLGEX;...ali
5000: 61 73 20 50 72 69 6e 74 44 6c 67 45 78 41 20 50 as PrintDlgExA P
5010: 72 69 6e 74 44 6c 67 45 78 3b 0a 09 7d 0a 0a 7d rintDlgEx;..}..}
5020: 20 2f 2f 20 55 4e 49 43 4f 44 45 0a 0a 61 6c 69 // UNICODE..ali
5030: 61 73 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 2a 20 as CHOOSECOLOR*
5040: 4c 50 43 48 4f 4f 53 45 43 4f 4c 4f 52 3b 0a 61 LPCHOOSECOLOR;.a
5050: 6c 69 61 73 20 43 48 4f 4f 53 45 46 4f 4e 54 2a lias CHOOSEFONT*
5060: 20 4c 50 43 48 4f 4f 53 45 46 4f 4e 54 3b 0a 61 LPCHOOSEFONT;.a
5070: 6c 69 61 73 20 46 49 4e 44 52 45 50 4c 41 43 45 lias FINDREPLACE
5080: 2a 20 4c 50 46 49 4e 44 52 45 50 4c 41 43 45 3b * LPFINDREPLACE;
5090: 0a 61 6c 69 61 73 20 4f 50 45 4e 46 49 4c 45 4e .alias OPENFILEN
50a0: 41 4d 45 2a 20 4c 50 4f 50 45 4e 46 49 4c 45 4e AME* LPOPENFILEN
50b0: 41 4d 45 3b 0a 61 6c 69 61 73 20 4f 46 4e 4f 54 AME;.alias OFNOT
50c0: 49 46 59 2a 20 4c 50 4f 46 4e 4f 54 49 46 59 3b IFY* LPOFNOTIFY;
50d0: 0a 61 6c 69 61 73 20 50 41 47 45 53 45 54 55 50 .alias PAGESETUP
50e0: 44 4c 47 2a 20 4c 50 50 41 47 45 53 45 54 55 50 DLG* LPPAGESETUP
50f0: 44 4c 47 3b 0a 61 6c 69 61 73 20 50 52 49 4e 54 DLG;.alias PRINT
5100: 44 4c 47 2a 20 4c 50 50 52 49 4e 54 44 4c 47 3b DLG* LPPRINTDLG;
5110: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN
5120: 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26 32_WINNT_ONLY &&
5130: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d _WIN32_WINNT >=
5140: 20 30 78 35 30 30 29 20 7b 0a 09 61 6c 69 61 73 0x500) {..alias
5150: 20 50 52 49 4e 54 44 4c 47 45 58 2a 20 4c 50 50 PRINTDLGEX* LPP
5160: 52 49 4e 54 44 4c 47 45 58 3b 0a 7d 0a RINTDLGEX;.}.