Artifact 969f3a046d040fe8128b7f95f82537165d0ec8d0:
- File
src/win32/commdlg.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 64 commd
0070: 6c 67 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 lg.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 Translated
0190: 66 72 6f 6d 20 4d 69 6e 47 57 20 41 50 49 20 66 from MinGW API f
01a0: 6f 72 20 4d 53 2d 57 69 6e 64 6f 77 73 20 33 2e or MS-Windows 3.
01b0: 31 32 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 12 *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..*
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 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 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20 public domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0250: 20 20 20 20 20 2a 0d 0a 5c 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 2a 2a 2a 2a 2a 2a 2a 2a ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e /..module win32.
02b0: 63 6f 6d 6d 64 6c 67 3b 0d 0a 70 72 61 67 6d 61 commdlg;..pragma
02c0: 28 6c 69 62 2c 20 22 63 6f 6d 64 6c 67 33 32 22 (lib, "comdlg32"
02d0: 29 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 20 69 6d );....private im
02e0: 70 6f 72 74 20 77 69 6e 33 32 2e 77 33 32 61 70 port win32.w32ap
02f0: 69 3b 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 i;..import win32
0300: 2e 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 77 .windef, win32.w
0310: 69 6e 75 73 65 72 3b 0d 0a 69 6d 70 6f 72 74 20 inuser;..import
0320: 77 69 6e 33 32 2e 77 69 6e 67 64 69 3b 20 2f 2f win32.wingdi; //
0330: 20 66 6f 72 20 4c 50 4c 4f 47 46 4f 4e 54 41 0d for LPLOGFONTA.
0340: 0a 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d ...const TCHAR[]
0350: 0d 0a 09 4c 42 53 45 4c 43 48 53 54 52 49 4e 47 ...LBSELCHSTRING
0360: 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 4c 42 53 65 = "commdlg_LBSe
0370: 6c 43 68 61 6e 67 65 64 4e 6f 74 69 66 79 22 2c lChangedNotify",
0380: 0d 0a 09 53 48 41 52 45 56 49 53 54 52 49 4e 47 ...SHAREVISTRING
0390: 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 53 68 61 72 = "commdlg_Shar
03a0: 65 56 69 6f 6c 61 74 69 6f 6e 22 2c 0d 0a 09 46 eViolation",...F
03b0: 49 4c 45 4f 4b 53 54 52 49 4e 47 20 20 3d 20 22 ILEOKSTRING = "
03c0: 63 6f 6d 6d 64 6c 67 5f 46 69 6c 65 4e 61 6d 65 commdlg_FileName
03d0: 4f 4b 22 2c 0d 0a 09 43 4f 4c 4f 52 4f 4b 53 54 OK",...COLOROKST
03e0: 52 49 4e 47 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f RING = "commdlg_
03f0: 43 6f 6c 6f 72 4f 4b 22 2c 0d 0a 09 53 45 54 52 ColorOK",...SETR
0400: 47 42 53 54 52 49 4e 47 20 20 3d 20 22 63 6f 6d GBSTRING = "com
0410: 6d 64 6c 67 5f 53 65 74 52 47 42 43 6f 6c 6f 72 mdlg_SetRGBColor
0420: 22 2c 0d 0a 09 48 45 4c 50 4d 53 47 53 54 52 49 ",...HELPMSGSTRI
0430: 4e 47 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 68 65 NG = "commdlg_he
0440: 6c 70 22 2c 0d 0a 09 46 49 4e 44 4d 53 47 53 54 lp",...FINDMSGST
0450: 52 49 4e 47 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f RING = "commdlg_
0460: 46 69 6e 64 52 65 70 6c 61 63 65 22 3b 0d 0a 0d FindReplace";...
0470: 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0d 0a .enum : UINT {..
0480: 09 43 44 4e 5f 46 49 52 53 54 20 20 20 20 20 20 .CDN_FIRST
0490: 20 20 20 20 3d 20 2d 36 30 31 2c 20 2f 2f 20 61 = -601, // a
04a0: 6c 73 6f 20 69 6e 20 63 6f 6d 6d 63 74 72 6c 2e lso in commctrl.
04b0: 68 0d 0a 09 43 44 4e 5f 4c 41 53 54 20 20 20 20 h...CDN_LAST
04c0: 20 20 20 20 20 20 20 3d 20 2d 36 39 39 2c 0d 0a = -699,..
04d0: 09 43 44 4e 5f 49 4e 49 54 44 4f 4e 45 20 20 20 .CDN_INITDONE
04e0: 20 20 20 20 3d 20 43 44 4e 5f 46 49 52 53 54 2c = CDN_FIRST,
04f0: 0d 0a 09 43 44 4e 5f 53 45 4c 43 48 41 4e 47 45 ...CDN_SELCHANGE
0500: 20 20 20 20 20 20 3d 20 43 44 4e 5f 46 49 52 53 = CDN_FIRS
0510: 54 20 2d 20 31 2c 0d 0a 09 43 44 4e 5f 46 4f 4c T - 1,...CDN_FOL
0520: 44 45 52 43 48 41 4e 47 45 20 20 20 3d 20 43 44 DERCHANGE = CD
0530: 4e 5f 46 49 52 53 54 20 2d 20 32 2c 0d 0a 09 43 N_FIRST - 2,...C
0540: 44 4e 5f 53 48 41 52 45 56 49 4f 4c 41 54 49 4f DN_SHAREVIOLATIO
0550: 4e 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 2d 20 N = CDN_FIRST -
0560: 33 2c 0d 0a 09 43 44 4e 5f 48 45 4c 50 20 20 20 3,...CDN_HELP
0570: 20 20 20 20 20 20 20 20 3d 20 43 44 4e 5f 46 49 = CDN_FI
0580: 52 53 54 20 2d 20 34 2c 0d 0a 09 43 44 4e 5f 46 RST - 4,...CDN_F
0590: 49 4c 45 4f 4b 20 20 20 20 20 20 20 20 20 3d 20 ILEOK =
05a0: 43 44 4e 5f 46 49 52 53 54 20 2d 20 35 2c 0d 0a CDN_FIRST - 5,..
05b0: 09 43 44 4e 5f 54 59 50 45 43 48 41 4e 47 45 20 .CDN_TYPECHANGE
05c0: 20 20 20 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 = CDN_FIRST
05d0: 2d 20 36 2c 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 - 6,..}....stati
05e0: 63 20 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e c if(_WIN32_WINN
05f0: 54 20 3e 3d 20 30 78 35 30 30 29 0d 0a 7b 0d 0a T >= 0x500)..{..
0600: 20 20 20 20 65 6e 75 6d 20 3a 20 55 49 4e 54 20 enum : UINT
0610: 7b 0d 0a 20 20 20 20 20 20 20 20 43 44 4e 5f 49 {.. CDN_I
0620: 4e 43 4c 55 44 45 49 54 45 4d 20 20 20 20 3d 20 NCLUDEITEM =
0630: 43 44 4e 5f 46 49 52 53 54 20 2d 20 37 2c 0d 0a CDN_FIRST - 7,..
0640: 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d }..}....enum
0650: 20 3a 20 55 49 4e 54 20 7b 0d 0a 09 43 44 4d 5f : UINT {...CDM_
0660: 46 49 52 53 54 20 20 20 20 20 20 20 20 20 20 20 FIRST
0670: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 30 2c = WM_USER + 100,
0680: 0d 0a 09 43 44 4d 5f 4c 41 53 54 20 20 20 20 20 ...CDM_LAST
0690: 20 20 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 = WM_USER
06a0: 20 2b 20 32 30 30 2c 0d 0a 09 43 44 4d 5f 47 45 + 200,...CDM_GE
06b0: 54 53 50 45 43 20 20 20 20 20 20 20 20 20 3d 20 TSPEC =
06c0: 43 44 4d 5f 46 49 52 53 54 2c 0d 0a 09 43 44 4d CDM_FIRST,...CDM
06d0: 5f 47 45 54 46 49 4c 45 50 41 54 48 2c 0d 0a 09 _GETFILEPATH,...
06e0: 43 44 4d 5f 47 45 54 46 4f 4c 44 45 52 50 41 54 CDM_GETFOLDERPAT
06f0: 48 2c 0d 0a 09 43 44 4d 5f 47 45 54 46 4f 4c 44 H,...CDM_GETFOLD
0700: 45 52 49 44 4c 49 53 54 2c 0d 0a 09 43 44 4d 5f ERIDLIST,...CDM_
0710: 53 45 54 43 4f 4e 54 52 4f 4c 54 45 58 54 2c 0d SETCONTROLTEXT,.
0720: 0a 09 43 44 4d 5f 48 49 44 45 43 4f 4e 54 52 4f ..CDM_HIDECONTRO
0730: 4c 2c 0d 0a 09 43 44 4d 5f 53 45 54 44 45 46 45 L,...CDM_SETDEFE
0740: 58 54 20 20 20 20 2f 2f 20 3d 20 43 44 4d 5f 46 XT // = CDM_F
0750: 49 52 53 54 20 2b 20 36 0d 0a 7d 0d 0a 0d 0a 2f IRST + 6..}..../
0760: 2f 20 66 6c 61 67 73 20 66 6f 72 20 43 68 6f 6f / flags for Choo
0770: 73 65 43 6f 6c 6f 72 0d 0a 65 6e 75 6d 20 3a 20 seColor..enum :
0780: 44 57 4f 52 44 20 7b 0d 0a 09 43 43 5f 52 47 42 DWORD {...CC_RGB
0790: 49 4e 49 54 20 20 20 20 20 20 20 20 20 20 20 20 INIT
07a0: 20 20 3d 20 30 78 30 30 30 31 2c 0d 0a 09 43 43 = 0x0001,...CC
07b0: 5f 46 55 4c 4c 4f 50 45 4e 20 20 20 20 20 20 20 _FULLOPEN
07c0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0d = 0x0002,.
07d0: 0a 09 43 43 5f 50 52 45 56 45 4e 54 46 55 4c 4c ..CC_PREVENTFULL
07e0: 4f 50 45 4e 20 20 20 20 20 20 3d 20 30 78 30 30 OPEN = 0x00
07f0: 30 34 2c 0d 0a 09 43 43 5f 53 48 4f 57 48 45 4c 04,...CC_SHOWHEL
0800: 50 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 P =
0810: 30 78 30 30 30 38 2c 0d 0a 09 43 43 5f 45 4e 41 0x0008,...CC_ENA
0820: 42 4c 45 48 4f 4f 4b 20 20 20 20 20 20 20 20 20 BLEHOOK
0830: 20 20 3d 20 30 78 30 30 31 30 2c 0d 0a 09 43 43 = 0x0010,...CC
0840: 5f 45 4e 41 42 4c 45 54 45 4d 50 4c 41 54 45 20 _ENABLETEMPLATE
0850: 20 20 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0d = 0x0020,.
0860: 0a 09 43 43 5f 45 4e 41 42 4c 45 54 45 4d 50 4c ..CC_ENABLETEMPL
0870: 41 54 45 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 ATEHANDLE = 0x00
0880: 34 30 2c 0d 0a 09 43 43 5f 53 4f 4c 49 44 43 4f 40,...CC_SOLIDCO
0890: 4c 4f 52 20 20 20 20 20 20 20 20 20 20 20 3d 20 LOR =
08a0: 30 78 30 30 38 30 2c 0d 0a 09 43 43 5f 41 4e 59 0x0080,...CC_ANY
08b0: 43 4f 4c 4f 52 20 20 20 20 20 20 20 20 20 20 20 COLOR
08c0: 20 20 3d 20 30 78 30 31 30 30 0d 0a 7d 0d 0a 0d = 0x0100..}...
08d0: 0a 2f 2f 20 66 6c 61 67 73 20 66 6f 72 20 43 68 .// flags for Ch
08e0: 6f 6f 73 65 46 6f 6e 74 0d 0a 65 6e 75 6d 20 3a ooseFont..enum :
08f0: 20 44 57 4f 52 44 20 7b 0d 0a 09 43 46 5f 53 43 DWORD {...CF_SC
0900: 52 45 45 4e 46 4f 4e 54 53 20 20 20 20 20 20 20 REENFONTS
0910: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c = 0x00000001,
0920: 0d 0a 09 43 46 5f 50 52 49 4e 54 45 52 46 4f 4e ...CF_PRINTERFON
0930: 54 53 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 TS = 0x0
0940: 30 30 30 30 30 30 32 2c 0d 0a 09 43 46 5f 42 4f 0000002,...CF_BO
0950: 54 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 TH
0960: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 33 2c = 0x00000003,
0970: 0d 0a 09 43 46 5f 53 48 4f 57 48 45 4c 50 20 20 ...CF_SHOWHELP
0980: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
0990: 30 30 30 30 30 30 34 2c 0d 0a 09 43 46 5f 45 4e 0000004,...CF_EN
09a0: 41 42 4c 45 48 4f 4f 4b 20 20 20 20 20 20 20 20 ABLEHOOK
09b0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 38 2c = 0x00000008,
09c0: 0d 0a 09 43 46 5f 45 4e 41 42 4c 45 54 45 4d 50 ...CF_ENABLETEMP
09d0: 4c 41 54 45 20 20 20 20 20 20 20 3d 20 30 78 30 LATE = 0x0
09e0: 30 30 30 30 30 31 30 2c 0d 0a 09 43 46 5f 45 4e 0000010,...CF_EN
09f0: 41 42 4c 45 54 45 4d 50 4c 41 54 45 48 41 4e 44 ABLETEMPLATEHAND
0a00: 4c 45 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c LE = 0x00000020,
0a10: 0d 0a 09 43 46 5f 49 4e 49 54 54 4f 4c 4f 47 46 ...CF_INITTOLOGF
0a20: 4f 4e 54 53 54 52 55 43 54 20 20 3d 20 30 78 30 ONTSTRUCT = 0x0
0a30: 30 30 30 30 30 34 30 2c 0d 0a 09 43 46 5f 55 53 0000040,...CF_US
0a40: 45 53 54 59 4c 45 20 20 20 20 20 20 20 20 20 20 ESTYLE
0a50: 20 20 20 3d 20 30 78 30 30 30 30 30 30 38 30 2c = 0x00000080,
0a60: 0d 0a 09 43 46 5f 45 46 46 45 43 54 53 20 20 20 ...CF_EFFECTS
0a70: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
0a80: 30 30 30 30 31 30 30 2c 0d 0a 09 43 46 5f 41 50 0000100,...CF_AP
0a90: 50 4c 59 20 20 20 20 20 20 20 20 20 20 20 20 20 PLY
0aa0: 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c = 0x00000200,
0ab0: 0d 0a 09 43 46 5f 41 4e 53 49 4f 4e 4c 59 20 20 ...CF_ANSIONLY
0ac0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
0ad0: 30 30 30 30 34 30 30 2c 0d 0a 09 43 46 5f 53 43 0000400,...CF_SC
0ae0: 52 49 50 54 53 4f 4e 4c 59 20 20 20 20 20 20 20 RIPTSONLY
0af0: 20 20 20 3d 20 43 46 5f 41 4e 53 49 4f 4e 4c 59 = CF_ANSIONLY
0b00: 2c 0d 0a 09 43 46 5f 4e 4f 56 45 43 54 4f 52 46 ,...CF_NOVECTORF
0b10: 4f 4e 54 53 20 20 20 20 20 20 20 20 3d 20 30 78 ONTS = 0x
0b20: 30 30 30 30 30 38 30 30 2c 0d 0a 09 43 46 5f 4e 00000800,...CF_N
0b30: 4f 4f 45 4d 46 4f 4e 54 53 20 20 20 20 20 20 20 OOEMFONTS
0b40: 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 30 30 = 0x00000800
0b50: 2c 0d 0a 09 43 46 5f 4e 4f 53 49 4d 55 4c 41 54 ,...CF_NOSIMULAT
0b60: 49 4f 4e 53 20 20 20 20 20 20 20 20 3d 20 30 78 IONS = 0x
0b70: 30 30 30 30 31 30 30 30 2c 0d 0a 09 43 46 5f 4c 00001000,...CF_L
0b80: 49 4d 49 54 53 49 5a 45 20 20 20 20 20 20 20 20 IMITSIZE
0b90: 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 30 30 = 0x00002000
0ba0: 2c 0d 0a 09 43 46 5f 46 49 58 45 44 50 49 54 43 ,...CF_FIXEDPITC
0bb0: 48 4f 4e 4c 59 20 20 20 20 20 20 20 3d 20 30 78 HONLY = 0x
0bc0: 30 30 30 30 34 30 30 30 2c 0d 0a 09 43 46 5f 57 00004000,...CF_W
0bd0: 59 53 49 57 59 47 20 20 20 20 20 20 20 20 20 20 YSIWYG
0be0: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30 = 0x00008000
0bf0: 2c 0d 0a 09 43 46 5f 46 4f 52 43 45 46 4f 4e 54 ,...CF_FORCEFONT
0c00: 45 58 49 53 54 20 20 20 20 20 20 20 3d 20 30 78 EXIST = 0x
0c10: 30 30 30 31 30 30 30 30 2c 0d 0a 09 43 46 5f 53 00010000,...CF_S
0c20: 43 41 4c 41 42 4c 45 4f 4e 4c 59 20 20 20 20 20 CALABLEONLY
0c30: 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 = 0x00020000
0c40: 2c 0d 0a 09 43 46 5f 54 54 4f 4e 4c 59 20 20 20 ,...CF_TTONLY
0c50: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
0c60: 30 30 30 34 30 30 30 30 2c 0d 0a 09 43 46 5f 4e 00040000,...CF_N
0c70: 4f 46 41 43 45 53 45 4c 20 20 20 20 20 20 20 20 OFACESEL
0c80: 20 20 20 20 3d 20 30 78 30 30 30 38 30 30 30 30 = 0x00080000
0c90: 2c 0d 0a 09 43 46 5f 4e 4f 53 54 59 4c 45 53 45 ,...CF_NOSTYLESE
0ca0: 4c 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 L = 0x
0cb0: 30 30 31 30 30 30 30 30 2c 0d 0a 09 43 46 5f 4e 00100000,...CF_N
0cc0: 4f 53 49 5a 45 53 45 4c 20 20 20 20 20 20 20 20 OSIZESEL
0cd0: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30 = 0x00200000
0ce0: 2c 0d 0a 09 43 46 5f 53 45 4c 45 43 54 53 43 52 ,...CF_SELECTSCR
0cf0: 49 50 54 20 20 20 20 20 20 20 20 20 3d 20 30 78 IPT = 0x
0d00: 30 30 34 30 30 30 30 30 2c 0d 0a 09 43 46 5f 4e 00400000,...CF_N
0d10: 4f 53 43 52 49 50 54 53 45 4c 20 20 20 20 20 20 OSCRIPTSEL
0d20: 20 20 20 20 3d 20 30 78 30 30 38 30 30 30 30 30 = 0x00800000
0d30: 2c 0d 0a 09 43 46 5f 4e 4f 56 45 52 54 46 4f 4e ,...CF_NOVERTFON
0d40: 54 53 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 TS = 0x
0d50: 30 31 30 30 30 30 30 30 0d 0a 7d 0d 0a 0d 0a 2f 01000000..}..../
0d60: 2f 20 46 6f 6e 74 20 74 79 70 65 20 66 6f 72 20 / Font type for
0d70: 43 68 6f 6f 73 65 46 6f 6e 74 0d 0a 65 6e 75 6d ChooseFont..enum
0d80: 20 3a 20 57 4f 52 44 20 7b 0d 0a 09 42 4f 4c 44 : WORD {...BOLD
0d90: 5f 46 4f 4e 54 54 59 50 45 20 20 20 20 20 20 3d _FONTTYPE =
0da0: 20 30 78 30 31 30 30 2c 0d 0a 09 49 54 41 4c 49 0x0100,...ITALI
0db0: 43 5f 46 4f 4e 54 54 59 50 45 20 20 20 20 3d 20 C_FONTTYPE =
0dc0: 30 78 30 32 30 30 2c 0d 0a 09 52 45 47 55 4c 41 0x0200,...REGULA
0dd0: 52 5f 46 4f 4e 54 54 59 50 45 20 20 20 3d 20 30 R_FONTTYPE = 0
0de0: 78 30 34 30 30 2c 0d 0a 09 53 43 52 45 45 4e 5f x0400,...SCREEN_
0df0: 46 4f 4e 54 54 59 50 45 20 20 20 20 3d 20 30 78 FONTTYPE = 0x
0e00: 32 30 30 30 2c 0d 0a 09 50 52 49 4e 54 45 52 5f 2000,...PRINTER_
0e10: 46 4f 4e 54 54 59 50 45 20 20 20 3d 20 30 78 34 FONTTYPE = 0x4
0e20: 30 30 30 2c 0d 0a 09 53 49 4d 55 4c 41 54 45 44 000,...SIMULATED
0e30: 5f 46 4f 4e 54 54 59 50 45 20 3d 20 30 78 38 30 _FONTTYPE = 0x80
0e40: 30 30 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 00..}....enum :
0e50: 55 49 4e 54 20 7b 0d 0a 09 57 4d 5f 43 48 4f 4f UINT {...WM_CHOO
0e60: 53 45 46 4f 4e 54 5f 47 45 54 4c 4f 47 46 4f 4e SEFONT_GETLOGFON
0e70: 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 20 20 T = WM_USER +
0e80: 31 2c 0d 0a 09 57 4d 5f 43 48 4f 4f 53 45 46 4f 1,...WM_CHOOSEFO
0e90: 4e 54 5f 53 45 54 4c 4f 47 46 4f 4e 54 20 3d 20 NT_SETLOGFONT =
0ea0: 57 4d 5f 55 53 45 52 20 2b 20 31 30 31 2c 0d 0a WM_USER + 101,..
0eb0: 09 57 4d 5f 43 48 4f 4f 53 45 46 4f 4e 54 5f 53 .WM_CHOOSEFONT_S
0ec0: 45 54 46 4c 41 47 53 20 20 20 3d 20 57 4d 5f 55 ETFLAGS = WM_U
0ed0: 53 45 52 20 2b 20 31 30 32 0d 0a 7d 0d 0a 0d 0a SER + 102..}....
0ee0: 2f 2f 20 66 6c 61 67 73 20 66 6f 72 20 4f 70 65 // flags for Ope
0ef0: 6e 46 69 6c 65 4e 61 6d 65 0d 0a 65 6e 75 6d 20 nFileName..enum
0f00: 3a 20 44 57 4f 52 44 20 7b 0d 0a 09 4f 46 4e 5f : DWORD {...OFN_
0f10: 53 48 41 52 45 57 41 52 4e 20 20 20 20 20 20 20 SHAREWARN
0f20: 20 20 20 20 20 3d 20 30 2c 0d 0a 09 4f 46 4e 5f = 0,...OFN_
0f30: 53 48 41 52 45 4e 4f 57 41 52 4e 20 20 20 20 20 SHARENOWARN
0f40: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 2c = 0x000001,
0f50: 0d 0a 09 4f 46 4e 5f 52 45 41 44 4f 4e 4c 59 20 ...OFN_READONLY
0f60: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
0f70: 30 30 30 30 30 31 2c 0d 0a 09 4f 46 4e 5f 53 48 000001,...OFN_SH
0f80: 41 52 45 46 41 4c 4c 54 48 52 4f 55 47 48 20 20 AREFALLTHROUGH
0f90: 20 20 20 3d 20 30 78 30 30 30 30 30 32 2c 0d 0a = 0x000002,..
0fa0: 09 4f 46 4e 5f 4f 56 45 52 57 52 49 54 45 50 52 .OFN_OVERWRITEPR
0fb0: 4f 4d 50 54 20 20 20 20 20 20 3d 20 30 78 30 30 OMPT = 0x00
0fc0: 30 30 30 32 2c 0d 0a 09 4f 46 4e 5f 48 49 44 45 0002,...OFN_HIDE
0fd0: 52 45 41 44 4f 4e 4c 59 20 20 20 20 20 20 20 20 READONLY
0fe0: 20 3d 20 30 78 30 30 30 30 30 34 2c 0d 0a 09 4f = 0x000004,...O
0ff0: 46 4e 5f 4e 4f 43 48 41 4e 47 45 44 49 52 20 20 FN_NOCHANGEDIR
1000: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
1010: 30 38 2c 0d 0a 09 4f 46 4e 5f 53 48 4f 57 48 45 08,...OFN_SHOWHE
1020: 4c 50 20 20 20 20 20 20 20 20 20 20 20 20 20 3d LP =
1030: 20 30 78 30 30 30 30 31 30 2c 0d 0a 09 4f 46 4e 0x000010,...OFN
1040: 5f 45 4e 41 42 4c 45 48 4f 4f 4b 20 20 20 20 20 _ENABLEHOOK
1050: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 = 0x000020
1060: 2c 0d 0a 09 4f 46 4e 5f 45 4e 41 42 4c 45 54 45 ,...OFN_ENABLETE
1070: 4d 50 4c 41 54 45 20 20 20 20 20 20 20 3d 20 30 MPLATE = 0
1080: 78 30 30 30 30 34 30 2c 0d 0a 09 4f 46 4e 5f 45 x000040,...OFN_E
1090: 4e 41 42 4c 45 54 45 4d 50 4c 41 54 45 48 41 4e NABLETEMPLATEHAN
10a0: 44 4c 45 20 3d 20 30 78 30 30 30 30 38 30 2c 0d DLE = 0x000080,.
10b0: 0a 09 4f 46 4e 5f 4e 4f 56 41 4c 49 44 41 54 45 ..OFN_NOVALIDATE
10c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0
10d0: 30 30 31 30 30 2c 0d 0a 09 4f 46 4e 5f 41 4c 4c 00100,...OFN_ALL
10e0: 4f 57 4d 55 4c 54 49 53 45 4c 45 43 54 20 20 20 OWMULTISELECT
10f0: 20 20 3d 20 30 78 30 30 30 32 30 30 2c 0d 0a 09 = 0x000200,...
1100: 4f 46 4e 5f 45 58 54 45 4e 53 49 4f 4e 44 49 46 OFN_EXTENSIONDIF
1110: 46 45 52 45 4e 54 20 20 20 3d 20 30 78 30 30 30 FERENT = 0x000
1120: 34 30 30 2c 0d 0a 09 4f 46 4e 5f 50 41 54 48 4d 400,...OFN_PATHM
1130: 55 53 54 45 58 49 53 54 20 20 20 20 20 20 20 20 USTEXIST
1140: 3d 20 30 78 30 30 30 38 30 30 2c 0d 0a 09 4f 46 = 0x000800,...OF
1150: 4e 5f 46 49 4c 45 4d 55 53 54 45 58 49 53 54 20 N_FILEMUSTEXIST
1160: 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 30 = 0x00100
1170: 30 2c 0d 0a 09 4f 46 4e 5f 43 52 45 41 54 45 50 0,...OFN_CREATEP
1180: 52 4f 4d 50 54 20 20 20 20 20 20 20 20 20 3d 20 ROMPT =
1190: 30 78 30 30 32 30 30 30 2c 0d 0a 09 4f 46 4e 5f 0x002000,...OFN_
11a0: 53 48 41 52 45 41 57 41 52 45 20 20 20 20 20 20 SHAREAWARE
11b0: 20 20 20 20 20 3d 20 30 78 30 30 34 30 30 30 2c = 0x004000,
11c0: 0d 0a 09 4f 46 4e 5f 4e 4f 52 45 41 44 4f 4e 4c ...OFN_NOREADONL
11d0: 59 52 45 54 55 52 4e 20 20 20 20 20 3d 20 30 78 YRETURN = 0x
11e0: 30 30 38 30 30 30 2c 0d 0a 09 4f 46 4e 5f 4e 4f 008000,...OFN_NO
11f0: 54 45 53 54 46 49 4c 45 43 52 45 41 54 45 20 20 TESTFILECREATE
1200: 20 20 20 3d 20 30 78 30 31 30 30 30 30 2c 0d 0a = 0x010000,..
1210: 09 4f 46 4e 5f 4e 4f 4e 45 54 57 4f 52 4b 42 55 .OFN_NONETWORKBU
1220: 54 54 4f 4e 20 20 20 20 20 20 3d 20 30 78 30 32 TTON = 0x02
1230: 30 30 30 30 2c 0d 0a 09 4f 46 4e 5f 4e 4f 4c 4f 0000,...OFN_NOLO
1240: 4e 47 4e 41 4d 45 53 20 20 20 20 20 20 20 20 20 NGNAMES
1250: 20 3d 20 30 78 30 34 30 30 30 30 2c 0d 0a 09 4f = 0x040000,...O
1260: 46 4e 5f 45 58 50 4c 4f 52 45 52 20 20 20 20 20 FN_EXPLORER
1270: 20 20 20 20 20 20 20 20 3d 20 30 78 30 38 30 30 = 0x0800
1280: 30 30 2c 0d 0a 09 4f 46 4e 5f 4e 4f 44 45 52 45 00,...OFN_NODERE
1290: 46 45 52 45 4e 43 45 4c 49 4e 4b 53 20 20 20 3d FERENCELINKS =
12a0: 20 30 78 31 30 30 30 30 30 2c 0d 0a 09 4f 46 4e 0x100000,...OFN
12b0: 5f 4c 4f 4e 47 4e 41 4d 45 53 20 20 20 20 20 20 _LONGNAMES
12c0: 20 20 20 20 20 20 3d 20 30 78 32 30 30 30 30 30 = 0x200000
12d0: 2c 0d 0a 09 4f 46 4e 5f 45 4e 41 42 4c 45 53 49 ,...OFN_ENABLESI
12e0: 5a 49 4e 47 20 20 20 20 20 20 20 20 20 3d 20 30 ZING = 0
12f0: 78 38 30 30 30 30 30 0d 0a 7d 0d 0a 0d 0a 65 6e x800000..}....en
1300: 75 6d 20 3a 20 44 57 4f 52 44 20 7b 0d 0a 09 46 um : DWORD {...F
1310: 52 5f 44 4f 57 4e 20 20 20 20 20 20 20 20 20 20 R_DOWN
1320: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
1330: 30 30 31 2c 0d 0a 09 46 52 5f 57 48 4f 4c 45 57 001,...FR_WHOLEW
1340: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 3d ORD =
1350: 20 30 78 30 30 30 30 30 30 30 32 2c 0d 0a 09 46 0x00000002,...F
1360: 52 5f 4d 41 54 43 48 43 41 53 45 20 20 20 20 20 R_MATCHCASE
1370: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
1380: 30 30 34 2c 0d 0a 09 46 52 5f 46 49 4e 44 4e 45 004,...FR_FINDNE
1390: 58 54 20 20 20 20 20 20 20 20 20 20 20 20 20 3d XT =
13a0: 20 30 78 30 30 30 30 30 30 30 38 2c 0d 0a 09 46 0x00000008,...F
13b0: 52 5f 52 45 50 4c 41 43 45 20 20 20 20 20 20 20 R_REPLACE
13c0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
13d0: 30 31 30 2c 0d 0a 09 46 52 5f 52 45 50 4c 41 43 010,...FR_REPLAC
13e0: 45 41 4c 4c 20 20 20 20 20 20 20 20 20 20 20 3d EALL =
13f0: 20 30 78 30 30 30 30 30 30 32 30 2c 0d 0a 09 46 0x00000020,...F
1400: 52 5f 44 49 41 4c 4f 47 54 45 52 4d 20 20 20 20 R_DIALOGTERM
1410: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
1420: 30 34 30 2c 0d 0a 09 46 52 5f 53 48 4f 57 48 45 040,...FR_SHOWHE
1430: 4c 50 20 20 20 20 20 20 20 20 20 20 20 20 20 3d LP =
1440: 20 30 78 30 30 30 30 30 30 38 30 2c 0d 0a 09 46 0x00000080,...F
1450: 52 5f 45 4e 41 42 4c 45 48 4f 4f 4b 20 20 20 20 R_ENABLEHOOK
1460: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
1470: 31 30 30 2c 0d 0a 09 46 52 5f 45 4e 41 42 4c 45 100,...FR_ENABLE
1480: 54 45 4d 50 4c 41 54 45 20 20 20 20 20 20 20 3d TEMPLATE =
1490: 20 30 78 30 30 30 30 30 32 30 30 2c 0d 0a 09 46 0x00000200,...F
14a0: 52 5f 4e 4f 55 50 44 4f 57 4e 20 20 20 20 20 20 R_NOUPDOWN
14b0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000
14c0: 34 30 30 2c 0d 0a 09 46 52 5f 4e 4f 4d 41 54 43 400,...FR_NOMATC
14d0: 48 43 41 53 45 20 20 20 20 20 20 20 20 20 20 3d HCASE =
14e0: 20 30 78 30 30 30 30 30 38 30 30 2c 0d 0a 09 46 0x00000800,...F
14f0: 52 5f 4e 4f 57 48 4f 4c 45 57 4f 52 44 20 20 20 R_NOWHOLEWORD
1500: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 31 = 0x00001
1510: 30 30 30 2c 0d 0a 09 46 52 5f 45 4e 41 42 4c 45 000,...FR_ENABLE
1520: 54 45 4d 50 4c 41 54 45 48 41 4e 44 4c 45 20 3d TEMPLATEHANDLE =
1530: 20 30 78 30 30 30 30 32 30 30 30 2c 0d 0a 09 46 0x00002000,...F
1540: 52 5f 48 49 44 45 55 50 44 4f 57 4e 20 20 20 20 R_HIDEUPDOWN
1550: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 34 = 0x00004
1560: 30 30 30 2c 0d 0a 09 46 52 5f 48 49 44 45 4d 41 000,...FR_HIDEMA
1570: 54 43 48 43 41 53 45 20 20 20 20 20 20 20 20 3d TCHCASE =
1580: 20 30 78 30 30 30 30 38 30 30 30 2c 0d 0a 09 46 0x00008000,...F
1590: 52 5f 48 49 44 45 57 48 4f 4c 45 57 4f 52 44 20 R_HIDEWHOLEWORD
15a0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 = 0x00010
15b0: 30 30 30 2c 0d 0a 09 46 52 5f 4d 41 54 43 48 44 000,...FR_MATCHD
15c0: 49 41 43 20 20 20 20 20 20 20 20 20 20 20 20 3d IAC =
15d0: 20 30 78 32 30 30 30 30 30 30 30 2c 0d 0a 09 46 0x20000000,...F
15e0: 52 5f 4d 41 54 43 48 4b 41 53 48 49 44 41 20 20 R_MATCHKASHIDA
15f0: 20 20 20 20 20 20 20 3d 20 30 78 34 30 30 30 30 = 0x40000
1600: 30 30 30 2c 0d 0a 09 46 52 5f 4d 41 54 43 48 41 000,...FR_MATCHA
1610: 4c 45 46 48 41 4d 5a 41 20 20 20 20 20 20 20 3d LEFHAMZA =
1620: 20 30 78 38 30 30 30 30 30 30 30 0d 0a 7d 0d 0a 0x80000000..}..
1630: 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 44 20 7b ..enum : DWORD {
1640: 0d 0a 09 50 44 5f 41 4c 4c 50 41 47 45 53 20 20 ...PD_ALLPAGES
1650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1660: 20 3d 20 30 2c 0d 0a 09 50 44 5f 53 45 4c 45 43 = 0,...PD_SELEC
1670: 54 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 TION
1680: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 = 0x000001
1690: 2c 0d 0a 09 50 44 5f 50 41 47 45 4e 55 4d 53 20 ,...PD_PAGENUMS
16a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
16b0: 20 20 3d 20 30 78 30 30 30 30 30 32 2c 0d 0a 09 = 0x000002,...
16c0: 50 44 5f 4e 4f 53 45 4c 45 43 54 49 4f 4e 20 20 PD_NOSELECTION
16d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
16e0: 30 78 30 30 30 30 30 34 2c 0d 0a 09 50 44 5f 4e 0x000004,...PD_N
16f0: 4f 50 41 47 45 4e 55 4d 53 20 20 20 20 20 20 20 OPAGENUMS
1700: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
1710: 30 30 30 38 2c 0d 0a 09 50 44 5f 43 4f 4c 4c 41 0008,...PD_COLLA
1720: 54 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 TE
1730: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 31 30 = 0x000010
1740: 2c 0d 0a 09 50 44 5f 50 52 49 4e 54 54 4f 46 49 ,...PD_PRINTTOFI
1750: 4c 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 LE
1760: 20 20 3d 20 30 78 30 30 30 30 32 30 2c 0d 0a 09 = 0x000020,...
1770: 50 44 5f 50 52 49 4e 54 53 45 54 55 50 20 20 20 PD_PRINTSETUP
1780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
1790: 30 78 30 30 30 30 34 30 2c 0d 0a 09 50 44 5f 4e 0x000040,...PD_N
17a0: 4f 57 41 52 4e 49 4e 47 20 20 20 20 20 20 20 20 OWARNING
17b0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
17c0: 30 30 38 30 2c 0d 0a 09 50 44 5f 52 45 54 55 52 0080,...PD_RETUR
17d0: 4e 44 43 20 20 20 20 20 20 20 20 20 20 20 20 20 NDC
17e0: 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 = 0x000100
17f0: 2c 0d 0a 09 50 44 5f 52 45 54 55 52 4e 49 43 20 ,...PD_RETURNIC
1800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1810: 20 20 3d 20 30 78 30 30 30 32 30 30 2c 0d 0a 09 = 0x000200,...
1820: 50 44 5f 52 45 54 55 52 4e 44 45 46 41 55 4c 54 PD_RETURNDEFAULT
1830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
1840: 30 78 30 30 30 34 30 30 2c 0d 0a 09 50 44 5f 53 0x000400,...PD_S
1850: 48 4f 57 48 45 4c 50 20 20 20 20 20 20 20 20 20 HOWHELP
1860: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
1870: 30 38 30 30 2c 0d 0a 09 50 44 5f 45 4e 41 42 4c 0800,...PD_ENABL
1880: 45 50 52 49 4e 54 48 4f 4f 4b 20 20 20 20 20 20 EPRINTHOOK
1890: 20 20 20 20 20 20 3d 20 30 78 30 30 31 30 30 30 = 0x001000
18a0: 2c 0d 0a 09 50 44 5f 45 4e 41 42 4c 45 53 45 54 ,...PD_ENABLESET
18b0: 55 50 48 4f 4f 4b 20 20 20 20 20 20 20 20 20 20 UPHOOK
18c0: 20 20 3d 20 30 78 30 30 32 30 30 30 2c 0d 0a 09 = 0x002000,...
18d0: 50 44 5f 45 4e 41 42 4c 45 50 52 49 4e 54 54 45 PD_ENABLEPRINTTE
18e0: 4d 50 4c 41 54 45 20 20 20 20 20 20 20 20 3d 20 MPLATE =
18f0: 30 78 30 30 34 30 30 30 2c 0d 0a 09 50 44 5f 45 0x004000,...PD_E
1900: 4e 41 42 4c 45 53 45 54 55 50 54 45 4d 50 4c 41 NABLESETUPTEMPLA
1910: 54 45 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 TE = 0x00
1920: 38 30 30 30 2c 0d 0a 09 50 44 5f 45 4e 41 42 4c 8000,...PD_ENABL
1930: 45 50 52 49 4e 54 54 45 4d 50 4c 41 54 45 48 41 EPRINTTEMPLATEHA
1940: 4e 44 4c 45 20 20 3d 20 30 78 30 31 30 30 30 30 NDLE = 0x010000
1950: 2c 0d 0a 09 50 44 5f 45 4e 41 42 4c 45 53 45 54 ,...PD_ENABLESET
1960: 55 50 54 45 4d 50 4c 41 54 45 48 41 4e 44 4c 45 UPTEMPLATEHANDLE
1970: 20 20 3d 20 30 78 30 32 30 30 30 30 2c 0d 0a 09 = 0x020000,...
1980: 50 44 5f 55 53 45 44 45 56 4d 4f 44 45 43 4f 50 PD_USEDEVMODECOP
1990: 49 45 53 20 20 20 20 20 20 20 20 20 20 20 3d 20 IES =
19a0: 30 78 30 34 30 30 30 30 2c 0d 0a 09 50 44 5f 55 0x040000,...PD_U
19b0: 53 45 44 45 56 4d 4f 44 45 43 4f 50 49 45 53 41 SEDEVMODECOPIESA
19c0: 4e 44 43 4f 4c 4c 41 54 45 20 3d 20 30 78 30 34 NDCOLLATE = 0x04
19d0: 30 30 30 30 2c 0d 0a 09 50 44 5f 44 49 53 41 42 0000,...PD_DISAB
19e0: 4c 45 50 52 49 4e 54 54 4f 46 49 4c 45 20 20 20 LEPRINTTOFILE
19f0: 20 20 20 20 20 20 3d 20 30 78 30 38 30 30 30 30 = 0x080000
1a00: 2c 0d 0a 09 50 44 5f 48 49 44 45 50 52 49 4e 54 ,...PD_HIDEPRINT
1a10: 54 4f 46 49 4c 45 20 20 20 20 20 20 20 20 20 20 TOFILE
1a20: 20 20 3d 20 30 78 31 30 30 30 30 30 2c 0d 0a 09 = 0x100000,...
1a30: 50 44 5f 4e 4f 4e 45 54 57 4f 52 4b 42 55 54 54 PD_NONETWORKBUTT
1a40: 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 ON =
1a50: 30 78 32 30 30 30 30 30 0d 0a 7d 0d 0a 0d 0a 73 0x200000..}....s
1a60: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 tatic if (_WIN32
1a70: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 _WINNT >= 0x500)
1a80: 20 7b 0d 0a 09 65 6e 75 6d 20 3a 20 44 57 4f 52 {...enum : DWOR
1a90: 44 20 7b 0d 0a 09 09 50 44 5f 43 55 52 52 45 4e D {....PD_CURREN
1aa0: 54 50 41 47 45 20 20 20 20 20 20 3d 20 30 78 30 TPAGE = 0x0
1ab0: 30 34 30 30 30 30 30 2c 0d 0a 09 09 50 44 5f 4e 0400000,....PD_N
1ac0: 4f 43 55 52 52 45 4e 54 50 41 47 45 20 20 20 20 OCURRENTPAGE
1ad0: 3d 20 30 78 30 30 38 30 30 30 30 30 2c 0d 0a 09 = 0x00800000,...
1ae0: 09 50 44 5f 45 58 43 4c 55 53 49 4f 4e 46 4c 41 .PD_EXCLUSIONFLA
1af0: 47 53 20 20 20 3d 20 30 78 30 31 30 30 30 30 30 GS = 0x0100000
1b00: 30 2c 0d 0a 09 09 50 44 5f 55 53 45 4c 41 52 47 0,....PD_USELARG
1b10: 45 54 45 4d 50 4c 41 54 45 20 3d 20 30 78 31 30 ETEMPLATE = 0x10
1b20: 30 30 30 30 30 30 2c 0d 0a 09 7d 0d 0a 0d 0a 09 000000,...}.....
1b30: 65 6e 75 6d 20 3a 20 48 52 45 53 55 4c 54 20 7b enum : HRESULT {
1b40: 0d 0a 09 09 50 44 5f 52 45 53 55 4c 54 5f 43 41 ....PD_RESULT_CA
1b50: 4e 43 45 4c 2c 0d 0a 09 09 50 44 5f 52 45 53 55 NCEL,....PD_RESU
1b60: 4c 54 5f 50 52 49 4e 54 2c 0d 0a 09 09 50 44 5f LT_PRINT,....PD_
1b70: 52 45 53 55 4c 54 5f 41 50 50 4c 59 0d 0a 09 7d RESULT_APPLY...}
1b80: 0d 0a 0d 0a 09 63 6f 6e 73 74 20 44 57 4f 52 44 .....const DWORD
1b90: 20 53 54 41 52 54 5f 50 41 47 45 5f 47 45 4e 45 START_PAGE_GENE
1ba0: 52 41 4c 20 3d 20 30 78 46 46 46 46 46 46 46 46 RAL = 0xFFFFFFFF
1bb0: 3b 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a ;..}....enum {..
1bc0: 09 50 53 44 5f 44 45 46 41 55 4c 54 4d 49 4e 4d .PSD_DEFAULTMINM
1bd0: 41 52 47 49 4e 53 20 20 20 20 20 20 20 20 20 20 ARGINS
1be0: 20 20 20 3d 20 30 2c 0d 0a 09 50 53 44 5f 49 4e = 0,...PSD_IN
1bf0: 57 49 4e 49 4e 49 49 4e 54 4c 4d 45 41 53 55 52 WININIINTLMEASUR
1c00: 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 2c E = 0,
1c10: 0d 0a 09 50 53 44 5f 4d 49 4e 4d 41 52 47 49 4e ...PSD_MINMARGIN
1c20: 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 S
1c30: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 2c = 0x000001,
1c40: 0d 0a 09 50 53 44 5f 4d 41 52 47 49 4e 53 20 20 ...PSD_MARGINS
1c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c60: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 32 2c = 0x000002,
1c70: 0d 0a 09 50 53 44 5f 49 4e 54 48 4f 55 53 41 4e ...PSD_INTHOUSAN
1c80: 44 54 48 53 4f 46 49 4e 43 48 45 53 20 20 20 20 DTHSOFINCHES
1c90: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 2c = 0x000004,
1ca0: 0d 0a 09 50 53 44 5f 49 4e 48 55 4e 44 52 45 44 ...PSD_INHUNDRED
1cb0: 54 48 53 4f 46 4d 49 4c 4c 49 4d 45 54 45 52 53 THSOFMILLIMETERS
1cc0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 38 2c = 0x000008,
1cd0: 0d 0a 09 50 53 44 5f 44 49 53 41 42 4c 45 4d 41 ...PSD_DISABLEMA
1ce0: 52 47 49 4e 53 20 20 20 20 20 20 20 20 20 20 20 RGINS
1cf0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 31 30 2c = 0x000010,
1d00: 0d 0a 09 50 53 44 5f 44 49 53 41 42 4c 45 50 52 ...PSD_DISABLEPR
1d10: 49 4e 54 45 52 20 20 20 20 20 20 20 20 20 20 20 INTER
1d20: 20 20 20 20 20 3d 20 30 78 30 30 30 30 32 30 2c = 0x000020,
1d30: 0d 0a 09 50 53 44 5f 4e 4f 57 41 52 4e 49 4e 47 ...PSD_NOWARNING
1d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d50: 20 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 2c = 0x000080,
1d60: 0d 0a 09 50 53 44 5f 44 49 53 41 42 4c 45 4f 52 ...PSD_DISABLEOR
1d70: 49 45 4e 54 41 54 49 4f 4e 20 20 20 20 20 20 20 IENTATION
1d80: 20 20 20 20 20 3d 20 30 78 30 30 30 31 30 30 2c = 0x000100,
1d90: 0d 0a 09 50 53 44 5f 44 49 53 41 42 4c 45 50 41 ...PSD_DISABLEPA
1da0: 50 45 52 20 20 20 20 20 20 20 20 20 20 20 20 20 PER
1db0: 20 20 20 20 20 3d 20 30 78 30 30 30 32 30 30 2c = 0x000200,
1dc0: 0d 0a 09 50 53 44 5f 52 45 54 55 52 4e 44 45 46 ...PSD_RETURNDEF
1dd0: 41 55 4c 54 20 20 20 20 20 20 20 20 20 20 20 20 AULT
1de0: 20 20 20 20 20 3d 20 30 78 30 30 30 34 30 30 2c = 0x000400,
1df0: 0d 0a 09 50 53 44 5f 53 48 4f 57 48 45 4c 50 20 ...PSD_SHOWHELP
1e00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1e10: 20 20 20 20 20 3d 20 30 78 30 30 30 38 30 30 2c = 0x000800,
1e20: 0d 0a 09 50 53 44 5f 45 4e 41 42 4c 45 50 41 47 ...PSD_ENABLEPAG
1e30: 45 53 45 54 55 50 48 4f 4f 4b 20 20 20 20 20 20 ESETUPHOOK
1e40: 20 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 2c = 0x002000,
1e50: 0d 0a 09 50 53 44 5f 45 4e 41 42 4c 45 50 41 47 ...PSD_ENABLEPAG
1e60: 45 53 45 54 55 50 54 45 4d 50 4c 41 54 45 20 20 ESETUPTEMPLATE
1e70: 20 20 20 20 20 3d 20 30 78 30 30 38 30 30 30 2c = 0x008000,
1e80: 0d 0a 09 50 53 44 5f 45 4e 41 42 4c 45 50 41 47 ...PSD_ENABLEPAG
1e90: 45 53 45 54 55 50 54 45 4d 50 4c 41 54 45 48 41 ESETUPTEMPLATEHA
1ea0: 4e 44 4c 45 20 3d 20 30 78 30 32 30 30 30 30 2c NDLE = 0x020000,
1eb0: 0d 0a 09 50 53 44 5f 45 4e 41 42 4c 45 50 41 47 ...PSD_ENABLEPAG
1ec0: 45 50 41 49 4e 54 48 4f 4f 4b 20 20 20 20 20 20 EPAINTHOOK
1ed0: 20 20 20 20 20 3d 20 30 78 30 34 30 30 30 30 2c = 0x040000,
1ee0: 0d 0a 09 50 53 44 5f 44 49 53 41 42 4c 45 50 41 ...PSD_DISABLEPA
1ef0: 47 45 50 41 49 4e 54 49 4e 47 20 20 20 20 20 20 GEPAINTING
1f00: 20 20 20 20 20 3d 20 30 78 30 38 30 30 30 30 0d = 0x080000.
1f10: 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 55 49 4e .}....enum : UIN
1f20: 54 20 7b 0d 0a 09 57 4d 5f 50 53 44 5f 50 41 47 T {...WM_PSD_PAG
1f30: 45 53 45 54 55 50 44 4c 47 20 3d 20 57 4d 5f 55 ESETUPDLG = WM_U
1f40: 53 45 52 2c 0d 0a 09 57 4d 5f 50 53 44 5f 46 55 SER,...WM_PSD_FU
1f50: 4c 4c 50 41 47 45 52 45 43 54 2c 0d 0a 09 57 4d LLPAGERECT,...WM
1f60: 5f 50 53 44 5f 4d 49 4e 4d 41 52 47 49 4e 52 45 _PSD_MINMARGINRE
1f70: 43 54 2c 0d 0a 09 57 4d 5f 50 53 44 5f 4d 41 52 CT,...WM_PSD_MAR
1f80: 47 49 4e 52 45 43 54 2c 0d 0a 09 57 4d 5f 50 53 GINRECT,...WM_PS
1f90: 44 5f 47 52 45 45 4b 54 45 58 54 52 45 43 54 2c D_GREEKTEXTRECT,
1fa0: 0d 0a 09 57 4d 5f 50 53 44 5f 45 4e 56 53 54 41 ...WM_PSD_ENVSTA
1fb0: 4d 50 52 45 43 54 2c 0d 0a 09 57 4d 5f 50 53 44 MPRECT,...WM_PSD
1fc0: 5f 59 41 46 55 4c 4c 50 41 47 45 52 45 43 54 20 _YAFULLPAGERECT
1fd0: 2f 2f 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 // = WM_USER + 6
1fe0: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 69 6e ..}....enum : in
1ff0: 74 20 7b 0d 0a 09 43 44 5f 4c 42 53 45 4c 4e 4f t {...CD_LBSELNO
2000: 49 54 45 4d 53 20 3d 20 2d 31 2c 0d 0a 09 43 44 ITEMS = -1,...CD
2010: 5f 4c 42 53 45 4c 43 48 41 4e 47 45 2c 0d 0a 09 _LBSELCHANGE,...
2020: 43 44 5f 4c 42 53 45 4c 53 55 42 2c 0d 0a 09 43 CD_LBSELSUB,...C
2030: 44 5f 4c 42 53 45 4c 41 44 44 0d 0a 7d 0d 0a 0d D_LBSELADD..}...
2040: 0a 63 6f 6e 73 74 20 57 4f 52 44 20 44 4e 5f 44 .const WORD DN_D
2050: 45 46 41 55 4c 54 50 52 4e 20 3d 20 31 3b 0d 0a EFAULTPRN = 1;..
2060: 0d 0a 2f 2b 0d 0a 2f 2f 20 42 6f 74 68 20 4d 69 ../+..// Both Mi
2070: 6e 47 57 20 61 6e 64 20 74 68 65 20 77 69 6e 64 nGW and the wind
2080: 6f 77 73 20 64 6f 63 73 20 69 6e 64 69 63 61 74 ows docs indicat
2090: 65 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 e that there are
20a0: 20 6d 61 63 72 6f 73 20 66 6f 72 20 74 68 65 20 macros for the
20b0: 73 65 6e 64 20 6d 65 73 73 61 67 65 73 0d 0a 2f send messages../
20c0: 2f 20 74 68 65 20 63 6f 6e 74 72 6f 6c 73 2e 20 / the controls.
20d0: 54 68 65 73 65 20 73 65 65 6d 20 74 6f 20 62 65 These seem to be
20e0: 20 74 6f 74 61 6c 6c 79 20 75 6e 6e 65 63 65 73 totally unneces
20f0: 73 61 72 79 20 2d 2d 20 61 6e 64 20 61 74 20 6c sary -- and at l
2100: 65 61 73 74 20 6f 6e 65 20 6f 66 20 4d 69 6e 47 east one of MinG
2110: 57 20 6f 72 0d 0a 2f 2f 20 57 69 6e 64 6f 77 73 W or..// Windows
2120: 20 44 6f 63 73 20 69 73 20 62 75 67 67 79 21 0d Docs is buggy!.
2130: 0a 0d 0a 69 6e 74 20 43 6f 6d 6d 44 6c 67 5f 4f ...int CommDlg_O
2140: 70 65 6e 53 61 76 65 5f 47 65 74 53 70 65 63 28 penSave_GetSpec(
2150: 48 57 4e 44 20 68 57 6e 64 43 6f 6e 74 72 6f 6c HWND hWndControl
2160: 2c 20 4c 50 41 52 41 4d 20 6c 70 61 72 61 6d 2c , LPARAM lparam,
2170: 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 29 20 WPARAM wParam)
2180: 7b 0d 0a 09 72 65 74 75 72 6e 20 53 65 6e 64 4d {...return SendM
2190: 65 73 73 61 67 65 28 68 57 6e 64 43 6f 6e 74 72 essage(hWndContr
21a0: 6f 6c 2c 20 43 44 4d 5f 47 45 54 53 50 45 43 2c ol, CDM_GETSPEC,
21b0: 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 wParam, lParam)
21c0: 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 43 6f 6d 6d ;..}....int Comm
21d0: 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 Dlg_OpenSave_Get
21e0: 46 69 6c 65 50 61 74 68 28 48 57 4e 44 20 68 57 FilePath(HWND hW
21f0: 6e 64 43 6f 6e 74 72 6f 6c 2c 20 4c 50 41 52 41 ndControl, LPARA
2200: 4d 20 6c 70 61 72 61 6d 2c 20 57 50 41 52 41 4d M lparam, WPARAM
2210: 20 77 50 61 72 61 6d 29 20 7b 0d 0a 09 72 65 74 wParam) {...ret
2220: 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 28 urn SendMessage(
2230: 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 4d hWndControl, CDM
2240: 5f 47 45 54 46 49 4c 45 50 41 54 48 2c 20 77 50 _GETFILEPATH, wP
2250: 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 3b 0d 0a aram, lParam);..
2260: 7d 0d 0a 0d 0a 69 6e 74 20 43 6f 6d 6d 44 6c 67 }....int CommDlg
2270: 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 6f 6c _OpenSave_GetFol
2280: 64 65 72 50 61 74 68 28 48 57 4e 44 20 68 57 6e derPath(HWND hWn
2290: 64 43 6f 6e 74 72 6f 6c 2c 20 4c 50 41 52 41 4d dControl, LPARAM
22a0: 20 6c 70 61 72 61 6d 2c 20 57 50 41 52 41 4d 20 lparam, WPARAM
22b0: 77 50 61 72 61 6d 29 20 7b 0d 0a 09 72 65 74 75 wParam) {...retu
22c0: 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 rn SendMessage(h
22d0: 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 4d 5f WndControl, CDM_
22e0: 47 45 54 46 4f 4c 44 45 52 50 41 54 48 2c 20 77 GETFOLDERPATH, w
22f0: 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 3b 0d Param, lParam);.
2300: 0a 7d 0d 0a 0d 0a 69 6e 74 20 43 6f 6d 6d 44 6c .}....int CommDl
2310: 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 6f g_OpenSave_GetFo
2320: 6c 64 65 72 49 44 4c 69 73 74 28 48 57 4e 44 20 lderIDList(HWND
2330: 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 4c 50 41 hWndControl, LPA
2340: 52 41 4d 20 6c 70 61 72 61 6d 2c 20 57 50 41 52 RAM lparam, WPAR
2350: 41 4d 20 77 50 61 72 61 6d 29 20 7b 0d 0a 09 72 AM wParam) {...r
2360: 65 74 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 eturn SendMessag
2370: 65 28 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 e(hWndControl, C
2380: 44 4d 5f 47 45 54 46 4f 4c 44 45 52 49 44 4c 49 DM_GETFOLDERIDLI
2390: 53 54 2c 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 ST, wParam, lPar
23a0: 61 6d 29 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 am);..}....void
23b0: 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 CommDlg_OpenSave
23c0: 5f 53 65 74 43 6f 6e 74 72 6f 6c 54 65 78 74 28 _SetControlText(
23d0: 48 57 4e 44 20 68 57 6e 64 43 6f 6e 74 72 6f 6c HWND hWndControl
23e0: 2c 20 4c 50 41 52 41 4d 20 6c 70 61 72 61 6d 2c , LPARAM lparam,
23f0: 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 29 20 WPARAM wParam)
2400: 7b 0d 0a 09 72 65 74 75 72 6e 20 53 65 6e 64 4d {...return SendM
2410: 65 73 73 61 67 65 28 68 57 6e 64 43 6f 6e 74 72 essage(hWndContr
2420: 6f 6c 2c 20 43 44 4d 5f 53 45 54 43 4f 4e 54 52 ol, CDM_SETCONTR
2430: 4f 4c 54 45 58 54 2c 20 77 50 61 72 61 6d 2c 20 OLTEXT, wParam,
2440: 6c 50 61 72 61 6d 29 3b 0d 0a 7d 0d 0a 0d 0a 76 lParam);..}....v
2450: 6f 69 64 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e oid CommDlg_Open
2460: 53 61 76 65 5f 48 69 64 65 43 6f 6e 74 72 6f 6c Save_HideControl
2470: 28 48 57 4e 44 20 68 57 6e 64 43 6f 6e 74 72 6f (HWND hWndContro
2480: 6c 2c 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d l, WPARAM wParam
2490: 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 53 65 6e ) {...return Sen
24a0: 64 4d 65 73 73 61 67 65 28 68 57 6e 64 43 6f 6e dMessage(hWndCon
24b0: 74 72 6f 6c 2c 20 43 44 4d 5f 48 49 44 45 43 4f trol, CDM_HIDECO
24c0: 4e 54 52 4f 4c 2c 20 77 50 61 72 61 6d 2c 20 30 NTROL, wParam, 0
24d0: 29 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 43 6f );..}....void Co
24e0: 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 53 mmDlg_OpenSave_S
24f0: 65 74 44 65 66 45 78 74 28 48 57 4e 44 20 68 57 etDefExt(HWND hW
2500: 6e 64 43 6f 6e 74 72 6f 6c 2c 20 54 43 48 41 52 ndControl, TCHAR
2510: 2a 20 6c 70 61 72 61 6d 29 20 7b 0d 0a 09 72 65 * lparam) {...re
2520: 74 75 72 6e 20 53 65 6e 64 4d 65 73 73 61 67 65 turn SendMessage
2530: 28 68 57 6e 64 43 6f 6e 74 72 6f 6c 2c 20 43 44 (hWndControl, CD
2540: 4d 5f 53 45 54 43 4f 4e 54 52 4f 4c 54 45 58 54 M_SETCONTROLTEXT
2550: 2c 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d , 0, cast(LPARAM
2560: 29 6c 50 61 72 61 6d 29 3b 0d 0a 7d 0d 0a 0d 0a )lParam);..}....
2570: 2f 2f 20 54 68 65 73 65 20 61 6c 69 61 73 65 73 // These aliases
2580: 20 73 65 65 6d 20 65 76 65 6e 20 6d 6f 72 65 20 seem even more
2590: 75 6e 6e 65 63 65 73 73 61 72 79 0d 0a 61 6c 69 unnecessary..ali
25a0: 61 73 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 as CommDlg_OpenS
25b0: 61 76 65 5f 47 65 74 53 70 65 63 0d 0a 09 43 6f ave_GetSpec...Co
25c0: 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 mmDlg_OpenSave_G
25d0: 65 74 53 70 65 63 41 2c 20 43 6f 6d 6d 44 6c 67 etSpecA, CommDlg
25e0: 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 53 70 65 _OpenSave_GetSpe
25f0: 63 57 3b 0d 0a 61 6c 69 61 73 20 43 6f 6d 6d 44 cW;..alias CommD
2600: 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 lg_OpenSave_GetF
2610: 69 6c 65 50 61 74 68 0d 0a 09 43 6f 6d 6d 44 6c ilePath...CommDl
2620: 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 69 g_OpenSave_GetFi
2630: 6c 65 50 61 74 68 41 2c 20 43 6f 6d 6d 44 6c 67 lePathA, CommDlg
2640: 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 69 6c _OpenSave_GetFil
2650: 65 50 61 74 68 57 3b 0d 0a 61 6c 69 61 73 20 43 ePathW;..alias C
2660: 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f ommDlg_OpenSave_
2670: 47 65 74 46 6f 6c 64 65 72 50 61 74 68 0d 0a 09 GetFolderPath...
2680: 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 CommDlg_OpenSave
2690: 5f 47 65 74 46 6f 6c 64 65 72 50 61 74 68 41 2c _GetFolderPathA,
26a0: 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 CommDlg_OpenSav
26b0: 65 5f 47 65 74 46 6f 6c 64 65 72 50 61 74 68 57 e_GetFolderPathW
26c0: 3b 0d 0a 2b 2f 0d 0a 0d 0a 2f 2f 20 43 61 6c 6c ;..+/....// Call
26d0: 62 61 63 6b 73 2e 0d 0a 65 78 74 65 72 6e 28 57 backs...extern(W
26e0: 69 6e 64 6f 77 73 29 20 7b 0d 0a 61 6c 69 61 73 indows) {..alias
26f0: 20 55 49 4e 54 5f 50 54 52 20 66 75 6e 63 74 69 UINT_PTR functi
2700: 6f 6e 20 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 on (HWND, UINT,
2710: 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 0d WPARAM, LPARAM).
2720: 0a 09 4c 50 43 43 48 4f 4f 4b 50 52 4f 43 2c 20 ..LPCCHOOKPROC,
2730: 4c 50 43 46 48 4f 4f 4b 50 52 4f 43 2c 20 4c 50 LPCFHOOKPROC, LP
2740: 46 52 48 4f 4f 4b 50 52 4f 43 2c 20 4c 50 4f 46 FRHOOKPROC, LPOF
2750: 4e 48 4f 4f 4b 50 52 4f 43 2c 0d 0a 09 4c 50 50 NHOOKPROC,...LPP
2760: 41 47 45 50 41 49 4e 54 48 4f 4f 4b 2c 20 4c 50 AGEPAINTHOOK, LP
2770: 50 41 47 45 53 45 54 55 50 48 4f 4f 4b 2c 20 4c PAGESETUPHOOK, L
2780: 50 53 45 54 55 50 48 4f 4f 4b 50 52 4f 43 2c 20 PSETUPHOOKPROC,
2790: 4c 50 50 52 49 4e 54 48 4f 4f 4b 50 52 4f 43 3b LPPRINTHOOKPROC;
27a0: 0d 0a 7d 0d 0a 0d 0a 61 6c 69 67 6e 20 28 31 29 ..}....align (1)
27b0: 3a 0d 0a 0d 0a 73 74 72 75 63 74 20 43 48 4f 4f :....struct CHOO
27c0: 53 45 43 4f 4c 4f 52 41 20 7b 0d 0a 09 44 57 4f SECOLORA {...DWO
27d0: 52 44 20 20 20 20 20 20 20 20 6c 53 74 72 75 63 RD lStruc
27e0: 74 53 69 7a 65 20 3d 20 43 48 4f 4f 53 45 43 4f tSize = CHOOSECO
27f0: 4c 4f 52 41 2e 73 69 7a 65 6f 66 3b 0d 0a 09 48 LORA.sizeof;...H
2800: 57 4e 44 20 20 20 20 20 20 20 20 20 68 77 6e 64 WND hwnd
2810: 4f 77 6e 65 72 3b 0d 0a 09 48 57 4e 44 20 20 20 Owner;...HWND
2820: 20 20 20 20 20 20 68 49 6e 73 74 61 6e 63 65 3b hInstance;
2830: 0d 0a 09 43 4f 4c 4f 52 52 45 46 20 20 20 20 20 ...COLORREF
2840: 72 67 62 52 65 73 75 6c 74 3b 0d 0a 09 43 4f 4c rgbResult;...COL
2850: 4f 52 52 45 46 2a 20 20 20 20 6c 70 43 75 73 74 ORREF* lpCust
2860: 43 6f 6c 6f 72 73 3b 0d 0a 09 44 57 4f 52 44 20 Colors;...DWORD
2870: 20 20 20 20 20 20 20 46 6c 61 67 73 3b 0d 0a 09 Flags;...
2880: 4c 50 41 52 41 4d 20 20 20 20 20 20 20 6c 43 75 LPARAM lCu
2890: 73 74 44 61 74 61 3b 0d 0a 09 4c 50 43 43 48 4f stData;...LPCCHO
28a0: 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b OKPROC lpfnHook;
28b0: 0d 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 ...LPCSTR
28c0: 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d lpTemplateName;.
28d0: 0a 7d 0d 0a 61 6c 69 61 73 20 43 48 4f 4f 53 45 .}..alias CHOOSE
28e0: 43 4f 4c 4f 52 41 2a 20 4c 50 43 48 4f 4f 53 45 COLORA* LPCHOOSE
28f0: 43 4f 4c 4f 52 41 3b 0d 0a 0d 0a 73 74 72 75 63 COLORA;....struc
2900: 74 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 57 20 7b t CHOOSECOLORW {
2910: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
2920: 6c 53 74 72 75 63 74 53 69 7a 65 20 3d 20 43 48 lStructSize = CH
2930: 4f 4f 53 45 43 4f 4c 4f 52 57 2e 73 69 7a 65 6f OOSECOLORW.sizeo
2940: 66 3b 0d 0a 09 48 57 4e 44 20 20 20 20 20 20 20 f;...HWND
2950: 20 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 09 48 hwndOwner;...H
2960: 57 4e 44 20 20 20 20 20 20 20 20 20 68 49 6e 73 WND hIns
2970: 74 61 6e 63 65 3b 0d 0a 09 43 4f 4c 4f 52 52 45 tance;...COLORRE
2980: 46 20 20 20 20 20 72 67 62 52 65 73 75 6c 74 3b F rgbResult;
2990: 0d 0a 09 43 4f 4c 4f 52 52 45 46 2a 20 20 20 20 ...COLORREF*
29a0: 6c 70 43 75 73 74 43 6f 6c 6f 72 73 3b 0d 0a 09 lpCustColors;...
29b0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 46 6c 61 DWORD Fla
29c0: 67 73 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 20 20 gs;...LPARAM
29d0: 20 20 20 6c 43 75 73 74 44 61 74 61 3b 0d 0a 09 lCustData;...
29e0: 4c 50 43 43 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 LPCCHOOKPROC lpf
29f0: 6e 48 6f 6f 6b 3b 0d 0a 09 4c 50 43 57 53 54 52 nHook;...LPCWSTR
2a00: 20 20 20 20 20 20 6c 70 54 65 6d 70 6c 61 74 65 lpTemplate
2a10: 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 Name;..}..alias
2a20: 43 48 4f 4f 53 45 43 4f 4c 4f 52 57 2a 20 4c 50 CHOOSECOLORW* LP
2a30: 43 48 4f 4f 53 45 43 4f 4c 4f 52 57 3b 0d 0a 0d CHOOSECOLORW;...
2a40: 0a 61 6c 69 67 6e 20 28 34 29 20 73 74 72 75 63 .align (4) struc
2a50: 74 20 43 48 4f 4f 53 45 46 4f 4e 54 41 20 7b 0d t CHOOSEFONTA {.
2a60: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 6c ..DWORD l
2a70: 53 74 72 75 63 74 53 69 7a 65 20 3d 20 43 48 4f StructSize = CHO
2a80: 4f 53 45 46 4f 4e 54 41 2e 73 69 7a 65 6f 66 3b OSEFONTA.sizeof;
2a90: 0d 0a 09 48 57 4e 44 20 20 20 20 20 20 20 20 20 ...HWND
2aa0: 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 09 48 44 43 hwndOwner;...HDC
2ab0: 20 20 20 20 20 20 20 20 20 20 68 44 43 3b 0d 0a hDC;..
2ac0: 09 4c 50 4c 4f 47 46 4f 4e 54 41 20 20 20 6c 70 .LPLOGFONTA lp
2ad0: 4c 6f 67 46 6f 6e 74 3b 0d 0a 09 49 4e 54 20 20 LogFont;...INT
2ae0: 20 20 20 20 20 20 20 20 69 50 6f 69 6e 74 53 69 iPointSi
2af0: 7a 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 ze;...DWORD
2b00: 20 20 20 46 6c 61 67 73 3b 0d 0a 09 44 57 4f 52 Flags;...DWOR
2b10: 44 20 20 20 20 20 20 20 20 72 67 62 43 6f 6c 6f D rgbColo
2b20: 72 73 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 20 20 rs;...LPARAM
2b30: 20 20 20 6c 43 75 73 74 44 61 74 61 3b 0d 0a 09 lCustData;...
2b40: 4c 50 43 46 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 LPCFHOOKPROC lpf
2b50: 6e 48 6f 6f 6b 3b 0d 0a 09 4c 50 43 53 54 52 20 nHook;...LPCSTR
2b60: 20 20 20 20 20 20 6c 70 54 65 6d 70 6c 61 74 65 lpTemplate
2b70: 4e 61 6d 65 3b 0d 0a 09 48 49 4e 53 54 41 4e 43 Name;...HINSTANC
2b80: 45 20 20 20 20 68 49 6e 73 74 61 6e 63 65 3b 0d E hInstance;.
2b90: 0a 09 4c 50 53 54 52 20 20 20 20 20 20 20 20 6c ..LPSTR l
2ba0: 70 73 7a 53 74 79 6c 65 3b 0d 0a 09 57 4f 52 44 pszStyle;...WORD
2bb0: 20 20 20 20 20 20 20 20 20 6e 46 6f 6e 74 54 79 nFontTy
2bc0: 70 65 3b 0d 0a 09 2f 2f 57 4f 52 44 20 20 20 20 pe;...//WORD
2bd0: 20 20 20 20 20 5f 5f 5f 4d 49 53 53 49 4e 47 5f ___MISSING_
2be0: 41 4c 49 47 4e 4d 45 4e 54 5f 5f 3b 0d 0a 09 49 ALIGNMENT__;...I
2bf0: 4e 54 20 20 20 20 20 20 20 20 20 20 6e 53 69 7a NT nSiz
2c00: 65 4d 69 6e 3b 0d 0a 09 49 4e 54 20 20 20 20 20 eMin;...INT
2c10: 20 20 20 20 20 6e 53 69 7a 65 4d 61 78 3b 0d 0a nSizeMax;..
2c20: 7d 0d 0a 61 6c 69 61 73 20 43 48 4f 4f 53 45 46 }..alias CHOOSEF
2c30: 4f 4e 54 41 2a 20 4c 50 43 48 4f 4f 53 45 46 4f ONTA* LPCHOOSEFO
2c40: 4e 54 41 3b 0d 0a 0d 0a 61 6c 69 67 6e 20 28 34 NTA;....align (4
2c50: 29 20 73 74 72 75 63 74 20 43 48 4f 4f 53 45 46 ) struct CHOOSEF
2c60: 4f 4e 54 57 20 7b 0d 0a 09 44 57 4f 52 44 20 20 ONTW {...DWORD
2c70: 20 20 20 20 20 20 6c 53 74 72 75 63 74 53 69 7a lStructSiz
2c80: 65 20 3d 20 43 48 4f 4f 53 45 46 4f 4e 54 57 2e e = CHOOSEFONTW.
2c90: 73 69 7a 65 6f 66 3b 0d 0a 09 48 57 4e 44 20 20 sizeof;...HWND
2ca0: 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e 65 72 hwndOwner
2cb0: 3b 0d 0a 09 48 44 43 20 20 20 20 20 20 20 20 20 ;...HDC
2cc0: 20 68 44 43 3b 0d 0a 09 4c 50 4c 4f 47 46 4f 4e hDC;...LPLOGFON
2cd0: 54 57 20 20 20 6c 70 4c 6f 67 46 6f 6e 74 3b 0d TW lpLogFont;.
2ce0: 0a 09 49 4e 54 20 20 20 20 20 20 20 20 20 20 69 ..INT i
2cf0: 50 6f 69 6e 74 53 69 7a 65 3b 0d 0a 09 44 57 4f PointSize;...DWO
2d00: 52 44 20 20 20 20 20 20 20 20 46 6c 61 67 73 3b RD Flags;
2d10: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
2d20: 72 67 62 43 6f 6c 6f 72 73 3b 0d 0a 09 4c 50 41 rgbColors;...LPA
2d30: 52 41 4d 20 20 20 20 20 20 20 6c 43 75 73 74 44 RAM lCustD
2d40: 61 74 61 3b 0d 0a 09 4c 50 43 46 48 4f 4f 4b 50 ata;...LPCFHOOKP
2d50: 52 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0d 0a 09 ROC lpfnHook;...
2d60: 4c 50 43 57 53 54 52 20 20 20 20 20 20 6c 70 54 LPCWSTR lpT
2d70: 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a 09 48 emplateName;...H
2d80: 49 4e 53 54 41 4e 43 45 20 20 20 20 68 49 6e 73 INSTANCE hIns
2d90: 74 61 6e 63 65 3b 0d 0a 09 4c 50 57 53 54 52 20 tance;...LPWSTR
2da0: 20 20 20 20 20 20 6c 70 73 7a 53 74 79 6c 65 3b lpszStyle;
2db0: 0d 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 ...WORD
2dc0: 6e 46 6f 6e 74 54 79 70 65 3b 0d 0a 09 2f 2f 57 nFontType;...//W
2dd0: 4f 52 44 20 20 20 20 20 20 20 20 20 5f 5f 5f 4d ORD ___M
2de0: 49 53 53 49 4e 47 5f 41 4c 49 47 4e 4d 45 4e 54 ISSING_ALIGNMENT
2df0: 5f 5f 3b 0d 0a 09 49 4e 54 20 20 20 20 20 20 20 __;...INT
2e00: 20 20 20 6e 53 69 7a 65 4d 69 6e 3b 0d 0a 09 49 nSizeMin;...I
2e10: 4e 54 20 20 20 20 20 20 20 20 20 20 6e 53 69 7a NT nSiz
2e20: 65 4d 61 78 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 eMax;..}..alias
2e30: 43 48 4f 4f 53 45 46 4f 4e 54 57 2a 20 4c 50 43 CHOOSEFONTW* LPC
2e40: 48 4f 4f 53 45 46 4f 4e 54 57 3b 0d 0a 0d 0a 73 HOOSEFONTW;....s
2e50: 74 72 75 63 74 20 44 45 56 4e 41 4d 45 53 20 7b truct DEVNAMES {
2e60: 0d 0a 09 57 4f 52 44 20 77 44 72 69 76 65 72 4f ...WORD wDriverO
2e70: 66 66 73 65 74 3b 0d 0a 09 57 4f 52 44 20 77 44 ffset;...WORD wD
2e80: 65 76 69 63 65 4f 66 66 73 65 74 3b 0d 0a 09 57 eviceOffset;...W
2e90: 4f 52 44 20 77 4f 75 74 70 75 74 4f 66 66 73 65 ORD wOutputOffse
2ea0: 74 3b 0d 0a 09 57 4f 52 44 20 77 44 65 66 61 75 t;...WORD wDefau
2eb0: 6c 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 44 45 lt;..}..alias DE
2ec0: 56 4e 41 4d 45 53 2a 20 4c 50 44 45 56 4e 41 4d VNAMES* LPDEVNAM
2ed0: 45 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 46 49 ES;....struct FI
2ee0: 4e 44 52 45 50 4c 41 43 45 41 20 7b 0d 0a 09 44 NDREPLACEA {...D
2ef0: 57 4f 52 44 20 20 20 20 20 20 20 20 6c 53 74 72 WORD lStr
2f00: 75 63 74 53 69 7a 65 20 3d 20 46 49 4e 44 52 45 uctSize = FINDRE
2f10: 50 4c 41 43 45 41 2e 73 69 7a 65 6f 66 3b 0d 0a PLACEA.sizeof;..
2f20: 09 48 57 4e 44 20 20 20 20 20 20 20 20 20 68 77 .HWND hw
2f30: 6e 64 4f 77 6e 65 72 3b 0d 0a 09 48 49 4e 53 54 ndOwner;...HINST
2f40: 41 4e 43 45 20 20 20 20 68 49 6e 73 74 61 6e 63 ANCE hInstanc
2f50: 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 e;...DWORD
2f60: 20 20 46 6c 61 67 73 3b 0d 0a 09 4c 50 53 54 52 Flags;...LPSTR
2f70: 20 20 20 20 20 20 20 20 6c 70 73 74 72 46 69 6e lpstrFin
2f80: 64 57 68 61 74 3b 0d 0a 09 4c 50 53 54 52 20 20 dWhat;...LPSTR
2f90: 20 20 20 20 20 20 6c 70 73 74 72 52 65 70 6c 61 lpstrRepla
2fa0: 63 65 57 69 74 68 3b 0d 0a 09 57 4f 52 44 20 20 ceWith;...WORD
2fb0: 20 20 20 20 20 20 20 77 46 69 6e 64 57 68 61 74 wFindWhat
2fc0: 4c 65 6e 3b 0d 0a 09 57 4f 52 44 20 20 20 20 20 Len;...WORD
2fd0: 20 20 20 20 77 52 65 70 6c 61 63 65 57 69 74 68 wReplaceWith
2fe0: 4c 65 6e 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 20 Len;...LPARAM
2ff0: 20 20 20 20 6c 43 75 73 74 44 61 74 61 3b 0d 0a lCustData;..
3000: 09 4c 50 46 52 48 4f 4f 4b 50 52 4f 43 20 6c 70 .LPFRHOOKPROC lp
3010: 66 6e 48 6f 6f 6b 3b 0d 0a 09 4c 50 43 53 54 52 fnHook;...LPCSTR
3020: 20 20 20 20 20 20 20 6c 70 54 65 6d 70 6c 61 74 lpTemplat
3030: 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 eName;..}..alias
3040: 20 46 49 4e 44 52 45 50 4c 41 43 45 41 2a 20 4c FINDREPLACEA* L
3050: 50 46 49 4e 44 52 45 50 4c 41 43 45 41 3b 0d 0a PFINDREPLACEA;..
3060: 0d 0a 73 74 72 75 63 74 20 46 49 4e 44 52 45 50 ..struct FINDREP
3070: 4c 41 43 45 57 20 7b 0d 0a 09 44 57 4f 52 44 20 LACEW {...DWORD
3080: 20 20 20 20 20 20 20 6c 53 74 72 75 63 74 53 69 lStructSi
3090: 7a 65 20 3d 20 46 49 4e 44 52 45 50 4c 41 43 45 ze = FINDREPLACE
30a0: 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 48 57 4e 44 W.sizeof;...HWND
30b0: 20 20 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e hwndOwn
30c0: 65 72 3b 0d 0a 09 48 49 4e 53 54 41 4e 43 45 20 er;...HINSTANCE
30d0: 20 20 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 09 hInstance;...
30e0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 46 6c 61 DWORD Fla
30f0: 67 73 3b 0d 0a 09 4c 50 57 53 54 52 20 20 20 20 gs;...LPWSTR
3100: 20 20 20 6c 70 73 74 72 46 69 6e 64 57 68 61 74 lpstrFindWhat
3110: 3b 0d 0a 09 4c 50 57 53 54 52 20 20 20 20 20 20 ;...LPWSTR
3120: 20 6c 70 73 74 72 52 65 70 6c 61 63 65 57 69 74 lpstrReplaceWit
3130: 68 3b 0d 0a 09 57 4f 52 44 20 20 20 20 20 20 20 h;...WORD
3140: 20 20 77 46 69 6e 64 57 68 61 74 4c 65 6e 3b 0d wFindWhatLen;.
3150: 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 77 ..WORD w
3160: 52 65 70 6c 61 63 65 57 69 74 68 4c 65 6e 3b 0d ReplaceWithLen;.
3170: 0a 09 4c 50 41 52 41 4d 20 20 20 20 20 20 20 6c ..LPARAM l
3180: 43 75 73 74 44 61 74 61 3b 0d 0a 09 4c 50 46 52 CustData;...LPFR
3190: 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f HOOKPROC lpfnHoo
31a0: 6b 3b 0d 0a 09 4c 50 43 57 53 54 52 20 20 20 20 k;...LPCWSTR
31b0: 20 20 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 lpTemplateName
31c0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 46 49 4e 44 ;..}..alias FIND
31d0: 52 45 50 4c 41 43 45 57 2a 20 4c 50 46 49 4e 44 REPLACEW* LPFIND
31e0: 52 45 50 4c 41 43 45 57 3b 0d 0a 0d 0a 73 74 72 REPLACEW;....str
31f0: 75 63 74 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 uct OPENFILENAME
3200: 41 20 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 A {...DWORD
3210: 20 20 20 20 6c 53 74 72 75 63 74 53 69 7a 65 20 lStructSize
3220: 3d 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 41 2e = OPENFILENAMEA.
3230: 73 69 7a 65 6f 66 3b 0d 0a 09 48 57 4e 44 20 20 sizeof;...HWND
3240: 20 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e 65 hwndOwne
3250: 72 3b 0d 0a 09 48 49 4e 53 54 41 4e 43 45 20 20 r;...HINSTANCE
3260: 20 20 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 09 hInstance;...
3270: 4c 50 43 53 54 52 20 20 20 20 20 20 20 20 6c 70 LPCSTR lp
3280: 73 74 72 46 69 6c 74 65 72 3b 0d 0a 09 4c 50 53 strFilter;...LPS
3290: 54 52 20 20 20 20 20 20 20 20 20 6c 70 73 74 72 TR lpstr
32a0: 43 75 73 74 6f 6d 46 69 6c 74 65 72 3b 0d 0a 09 CustomFilter;...
32b0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 6e 4d DWORD nM
32c0: 61 78 43 75 73 74 46 69 6c 74 65 72 3b 0d 0a 09 axCustFilter;...
32d0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 6e 46 DWORD nF
32e0: 69 6c 74 65 72 49 6e 64 65 78 3b 0d 0a 09 4c 50 ilterIndex;...LP
32f0: 53 54 52 20 20 20 20 20 20 20 20 20 6c 70 73 74 STR lpst
3300: 72 46 69 6c 65 3b 0d 0a 09 44 57 4f 52 44 20 20 rFile;...DWORD
3310: 20 20 20 20 20 20 20 6e 4d 61 78 46 69 6c 65 3b nMaxFile;
3320: 0d 0a 09 4c 50 53 54 52 20 20 20 20 20 20 20 20 ...LPSTR
3330: 20 6c 70 73 74 72 46 69 6c 65 54 69 74 6c 65 3b lpstrFileTitle;
3340: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
3350: 20 6e 4d 61 78 46 69 6c 65 54 69 74 6c 65 3b 0d nMaxFileTitle;.
3360: 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 20 ..LPCSTR
3370: 6c 70 73 74 72 49 6e 69 74 69 61 6c 44 69 72 3b lpstrInitialDir;
3380: 0d 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 ...LPCSTR
3390: 20 6c 70 73 74 72 54 69 74 6c 65 3b 0d 0a 09 44 lpstrTitle;...D
33a0: 57 4f 52 44 20 20 20 20 20 20 20 20 20 46 6c 61 WORD Fla
33b0: 67 73 3b 0d 0a 09 57 4f 52 44 20 20 20 20 20 20 gs;...WORD
33c0: 20 20 20 20 6e 46 69 6c 65 4f 66 66 73 65 74 3b nFileOffset;
33d0: 0d 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 ...WORD
33e0: 20 6e 46 69 6c 65 45 78 74 65 6e 73 69 6f 6e 3b nFileExtension;
33f0: 0d 0a 09 4c 50 43 53 54 52 20 20 20 20 20 20 20 ...LPCSTR
3400: 20 6c 70 73 74 72 44 65 66 45 78 74 3b 0d 0a 09 lpstrDefExt;...
3410: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 6c 43 DWORD lC
3420: 75 73 74 44 61 74 61 3b 0d 0a 09 4c 50 4f 46 4e ustData;...LPOFN
3430: 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f HOOKPROC lpfnHoo
3440: 6b 3b 0d 0a 09 4c 50 43 53 54 52 20 20 20 20 20 k;...LPCSTR
3450: 20 20 20 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d lpTemplateNam
3460: 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 74 e;.. .. st
3470: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f atic if (_WIN32_
3480: 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 WINNT >= 0x500)
3490: 7b 0d 0a 20 20 20 20 20 20 20 20 76 6f 69 64 20 {.. void
34a0: 20 20 20 20 20 20 20 20 20 2a 70 76 52 65 73 65 *pvRese
34b0: 72 76 65 64 3b 0d 0a 20 20 20 20 20 20 20 20 44 rved;.. D
34c0: 57 4f 52 44 20 20 20 20 20 20 20 20 20 64 77 52 WORD dwR
34d0: 65 73 65 72 76 65 64 3b 0d 0a 20 20 20 20 20 20 eserved;..
34e0: 20 20 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 DWORD
34f0: 46 6c 61 67 73 45 78 3b 0d 0a 20 20 20 20 7d 20 FlagsEx;.. }
3500: 20 20 20 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4f 50 ..}..alias OP
3510: 45 4e 46 49 4c 45 4e 41 4d 45 41 2a 20 4c 50 4f ENFILENAMEA* LPO
3520: 50 45 4e 46 49 4c 45 4e 41 4d 45 41 3b 0d 0a 0d PENFILENAMEA;...
3530: 0a 73 74 72 75 63 74 20 4f 50 45 4e 46 49 4c 45 .struct OPENFILE
3540: 4e 41 4d 45 57 20 7b 0d 0a 09 44 57 4f 52 44 20 NAMEW {...DWORD
3550: 20 20 20 20 20 20 20 20 6c 53 74 72 75 63 74 53 lStructS
3560: 69 7a 65 20 3d 20 4f 50 45 4e 46 49 4c 45 4e 41 ize = OPENFILENA
3570: 4d 45 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 48 57 MEW.sizeof;...HW
3580: 4e 44 20 20 20 20 20 20 20 20 20 20 68 77 6e 64 ND hwnd
3590: 4f 77 6e 65 72 3b 0d 0a 09 48 49 4e 53 54 41 4e Owner;...HINSTAN
35a0: 43 45 20 20 20 20 20 68 49 6e 73 74 61 6e 63 65 CE hInstance
35b0: 3b 0d 0a 09 4c 50 43 57 53 54 52 20 20 20 20 20 ;...LPCWSTR
35c0: 20 20 6c 70 73 74 72 46 69 6c 74 65 72 3b 0d 0a lpstrFilter;..
35d0: 09 4c 50 57 53 54 52 20 20 20 20 20 20 20 20 6c .LPWSTR l
35e0: 70 73 74 72 43 75 73 74 6f 6d 46 69 6c 74 65 72 pstrCustomFilter
35f0: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD
3600: 20 20 6e 4d 61 78 43 75 73 74 46 69 6c 74 65 72 nMaxCustFilter
3610: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD
3620: 20 20 6e 46 69 6c 74 65 72 49 6e 64 65 78 3b 0d nFilterIndex;.
3630: 0a 09 4c 50 57 53 54 52 20 20 20 20 20 20 20 20 ..LPWSTR
3640: 6c 70 73 74 72 46 69 6c 65 3b 0d 0a 09 44 57 4f lpstrFile;...DWO
3650: 52 44 20 20 20 20 20 20 20 20 20 6e 4d 61 78 46 RD nMaxF
3660: 69 6c 65 3b 0d 0a 09 4c 50 57 53 54 52 20 20 20 ile;...LPWSTR
3670: 20 20 20 20 20 6c 70 73 74 72 46 69 6c 65 54 69 lpstrFileTi
3680: 74 6c 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 tle;...DWORD
3690: 20 20 20 20 20 6e 4d 61 78 46 69 6c 65 54 69 74 nMaxFileTit
36a0: 6c 65 3b 0d 0a 09 4c 50 43 57 53 54 52 20 20 20 le;...LPCWSTR
36b0: 20 20 20 20 6c 70 73 74 72 49 6e 69 74 69 61 6c lpstrInitial
36c0: 44 69 72 3b 0d 0a 09 4c 50 43 57 53 54 52 20 20 Dir;...LPCWSTR
36d0: 20 20 20 20 20 6c 70 73 74 72 54 69 74 6c 65 3b lpstrTitle;
36e0: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
36f0: 20 46 6c 61 67 73 3b 0d 0a 09 57 4f 52 44 20 20 Flags;...WORD
3700: 20 20 20 20 20 20 20 20 6e 46 69 6c 65 4f 66 66 nFileOff
3710: 73 65 74 3b 0d 0a 09 57 4f 52 44 20 20 20 20 20 set;...WORD
3720: 20 20 20 20 20 6e 46 69 6c 65 45 78 74 65 6e 73 nFileExtens
3730: 69 6f 6e 3b 0d 0a 09 4c 50 43 57 53 54 52 20 20 ion;...LPCWSTR
3740: 20 20 20 20 20 6c 70 73 74 72 44 65 66 45 78 74 lpstrDefExt
3750: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD
3760: 20 20 6c 43 75 73 74 44 61 74 61 3b 0d 0a 09 4c lCustData;...L
3770: 50 4f 46 4e 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 POFNHOOKPROC lpf
3780: 6e 48 6f 6f 6b 3b 0d 0a 09 4c 50 43 57 53 54 52 nHook;...LPCWSTR
3790: 20 20 20 20 20 20 20 6c 70 54 65 6d 70 6c 61 74 lpTemplat
37a0: 65 4e 61 6d 65 3b 0d 0a 20 20 20 20 0d 0a 20 20 eName;.. ..
37b0: 20 20 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 static if (_WI
37c0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 N32_WINNT >= 0x5
37d0: 30 30 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 00) {.. v
37e0: 6f 69 64 20 20 20 20 20 20 20 20 20 20 2a 70 76 oid *pv
37f0: 52 65 73 65 72 76 65 64 3b 0d 0a 20 20 20 20 20 Reserved;..
3800: 20 20 20 44 57 4f 52 44 20 20 20 20 20 20 20 20 DWORD
3810: 20 64 77 52 65 73 65 72 76 65 64 3b 0d 0a 20 20 dwReserved;..
3820: 20 20 20 20 20 20 44 57 4f 52 44 20 20 20 20 20 DWORD
3830: 20 20 20 20 46 6c 61 67 73 45 78 3b 0d 0a 20 20 FlagsEx;..
3840: 20 20 7d 20 20 20 20 20 20 20 0d 0a 7d 0d 0a 61 } ..}..a
3850: 6c 69 61 73 20 4f 50 45 4e 46 49 4c 45 4e 41 4d lias OPENFILENAM
3860: 45 57 2a 20 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 EW* LPOPENFILENA
3870: 4d 45 57 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 73 69 MEW;....const si
3880: 7a 65 5f 74 20 4f 50 45 4e 46 49 4c 45 4e 41 4d ze_t OPENFILENAM
3890: 45 5f 53 49 5a 45 5f 56 45 52 53 49 4f 4e 5f 34 E_SIZE_VERSION_4
38a0: 30 30 20 3d 20 37 36 3b 0d 0a 0d 0a 73 74 72 75 00 = 76;....stru
38b0: 63 74 20 4f 46 4e 4f 54 49 46 59 41 20 7b 0d 0a ct OFNOTIFYA {..
38c0: 09 4e 4d 48 44 52 20 20 20 20 20 20 20 20 20 20 .NMHDR
38d0: 20 68 64 72 3b 0d 0a 09 4c 50 4f 50 45 4e 46 49 hdr;...LPOPENFI
38e0: 4c 45 4e 41 4d 45 41 20 6c 70 4f 46 4e 3b 0d 0a LENAMEA lpOFN;..
38f0: 09 4c 50 53 54 52 20 20 20 20 20 20 20 20 20 20 .LPSTR
3900: 20 70 73 7a 46 69 6c 65 3b 0d 0a 7d 0d 0a 61 6c pszFile;..}..al
3910: 69 61 73 20 4f 46 4e 4f 54 49 46 59 41 2a 20 4c ias OFNOTIFYA* L
3920: 50 4f 46 4e 4f 54 49 46 59 41 3b 0d 0a 0d 0a 73 POFNOTIFYA;....s
3930: 74 72 75 63 74 20 4f 46 4e 4f 54 49 46 59 57 20 truct OFNOTIFYW
3940: 7b 0d 0a 09 4e 4d 48 44 52 20 20 20 20 20 20 20 {...NMHDR
3950: 20 20 20 20 68 64 72 3b 0d 0a 09 4c 50 4f 50 45 hdr;...LPOPE
3960: 4e 46 49 4c 45 4e 41 4d 45 57 20 6c 70 4f 46 4e NFILENAMEW lpOFN
3970: 3b 0d 0a 09 4c 50 57 53 54 52 20 20 20 20 20 20 ;...LPWSTR
3980: 20 20 20 20 70 73 7a 46 69 6c 65 3b 0d 0a 7d 0d pszFile;..}.
3990: 0a 61 6c 69 61 73 20 4f 46 4e 4f 54 49 46 59 57 .alias OFNOTIFYW
39a0: 2a 20 4c 50 4f 46 4e 4f 54 49 46 59 57 3b 0d 0a * LPOFNOTIFYW;..
39b0: 0d 0a 73 74 72 75 63 74 20 50 41 47 45 53 45 54 ..struct PAGESET
39c0: 55 50 44 4c 47 41 20 7b 0d 0a 09 44 57 4f 52 44 UPDLGA {...DWORD
39d0: 20 20 20 20 20 20 20 20 20 20 20 6c 53 74 72 75 lStru
39e0: 63 74 53 69 7a 65 20 3d 20 50 41 47 45 53 45 54 ctSize = PAGESET
39f0: 55 50 44 4c 47 41 2e 73 69 7a 65 6f 66 3b 0d 0a UPDLGA.sizeof;..
3a00: 09 48 57 4e 44 20 20 20 20 20 20 20 20 20 20 20 .HWND
3a10: 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 09 48 47 hwndOwner;...HG
3a20: 4c 4f 42 41 4c 20 20 20 20 20 20 20 20 20 68 44 LOBAL hD
3a30: 65 76 4d 6f 64 65 3b 0d 0a 09 48 47 4c 4f 42 41 evMode;...HGLOBA
3a40: 4c 20 20 20 20 20 20 20 20 20 68 44 65 76 4e 61 L hDevNa
3a50: 6d 65 73 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 mes;...DWORD
3a60: 20 20 20 20 20 20 20 46 6c 61 67 73 3b 0d 0a 09 Flags;...
3a70: 50 4f 49 4e 54 20 20 20 20 20 20 20 20 20 20 20 POINT
3a80: 70 74 50 61 70 65 72 53 69 7a 65 3b 0d 0a 09 52 ptPaperSize;...R
3a90: 45 43 54 20 20 20 20 20 20 20 20 20 20 20 20 72 ECT r
3aa0: 74 4d 69 6e 4d 61 72 67 69 6e 3b 0d 0a 09 52 45 tMinMargin;...RE
3ab0: 43 54 20 20 20 20 20 20 20 20 20 20 20 20 72 74 CT rt
3ac0: 4d 61 72 67 69 6e 3b 0d 0a 09 48 49 4e 53 54 41 Margin;...HINSTA
3ad0: 4e 43 45 20 20 20 20 20 20 20 68 49 6e 73 74 61 NCE hInsta
3ae0: 6e 63 65 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 20 nce;...LPARAM
3af0: 20 20 20 20 20 20 20 6c 43 75 73 74 44 61 74 61 lCustData
3b00: 3b 0d 0a 09 4c 50 50 41 47 45 53 45 54 55 50 48 ;...LPPAGESETUPH
3b10: 4f 4f 4b 20 6c 70 66 6e 50 61 67 65 53 65 74 75 OOK lpfnPageSetu
3b20: 70 48 6f 6f 6b 3b 0d 0a 09 4c 50 50 41 47 45 50 pHook;...LPPAGEP
3b30: 41 49 4e 54 48 4f 4f 4b 20 6c 70 66 6e 50 61 67 AINTHOOK lpfnPag
3b40: 65 50 61 69 6e 74 48 6f 6f 6b 3b 0d 0a 09 4c 50 ePaintHook;...LP
3b50: 43 53 54 52 20 20 20 20 20 20 20 20 20 20 6c 70 CSTR lp
3b60: 50 61 67 65 53 65 74 75 70 54 65 6d 70 6c 61 74 PageSetupTemplat
3b70: 65 4e 61 6d 65 3b 0d 0a 09 48 47 4c 4f 42 41 4c eName;...HGLOBAL
3b80: 20 20 20 20 20 20 20 20 20 68 50 61 67 65 53 65 hPageSe
3b90: 74 75 70 54 65 6d 70 6c 61 74 65 3b 0d 0a 7d 0d tupTemplate;..}.
3ba0: 0a 61 6c 69 61 73 20 50 41 47 45 53 45 54 55 50 .alias PAGESETUP
3bb0: 44 4c 47 41 2a 20 4c 50 50 41 47 45 53 45 54 55 DLGA* LPPAGESETU
3bc0: 50 44 4c 47 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 PDLGA;....struct
3bd0: 20 50 41 47 45 53 45 54 55 50 44 4c 47 57 20 7b PAGESETUPDLGW {
3be0: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
3bf0: 20 20 20 6c 53 74 72 75 63 74 53 69 7a 65 20 3d lStructSize =
3c00: 20 50 41 47 45 53 45 54 55 50 44 4c 47 57 2e 73 PAGESETUPDLGW.s
3c10: 69 7a 65 6f 66 3b 0d 0a 09 48 57 4e 44 20 20 20 izeof;...HWND
3c20: 20 20 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e hwndOwn
3c30: 65 72 3b 0d 0a 09 48 47 4c 4f 42 41 4c 20 20 20 er;...HGLOBAL
3c40: 20 20 20 20 20 20 68 44 65 76 4d 6f 64 65 3b 0d hDevMode;.
3c50: 0a 09 48 47 4c 4f 42 41 4c 20 20 20 20 20 20 20 ..HGLOBAL
3c60: 20 20 68 44 65 76 4e 61 6d 65 73 3b 0d 0a 09 44 hDevNames;...D
3c70: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 46 WORD F
3c80: 6c 61 67 73 3b 0d 0a 09 50 4f 49 4e 54 20 20 20 lags;...POINT
3c90: 20 20 20 20 20 20 20 20 70 74 50 61 70 65 72 53 ptPaperS
3ca0: 69 7a 65 3b 0d 0a 09 52 45 43 54 20 20 20 20 20 ize;...RECT
3cb0: 20 20 20 20 20 20 20 72 74 4d 69 6e 4d 61 72 67 rtMinMarg
3cc0: 69 6e 3b 0d 0a 09 52 45 43 54 20 20 20 20 20 20 in;...RECT
3cd0: 20 20 20 20 20 20 72 74 4d 61 72 67 69 6e 3b 0d rtMargin;.
3ce0: 0a 09 48 49 4e 53 54 41 4e 43 45 20 20 20 20 20 ..HINSTANCE
3cf0: 20 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 09 4c hInstance;...L
3d00: 50 41 52 41 4d 20 20 20 20 20 20 20 20 20 20 6c PARAM l
3d10: 43 75 73 74 44 61 74 61 3b 0d 0a 09 4c 50 50 41 CustData;...LPPA
3d20: 47 45 53 45 54 55 50 48 4f 4f 4b 20 6c 70 66 6e GESETUPHOOK lpfn
3d30: 50 61 67 65 53 65 74 75 70 48 6f 6f 6b 3b 0d 0a PageSetupHook;..
3d40: 09 4c 50 50 41 47 45 50 41 49 4e 54 48 4f 4f 4b .LPPAGEPAINTHOOK
3d50: 20 6c 70 66 6e 50 61 67 65 50 61 69 6e 74 48 6f lpfnPagePaintHo
3d60: 6f 6b 3b 0d 0a 09 4c 50 43 57 53 54 52 20 20 20 ok;...LPCWSTR
3d70: 20 20 20 20 20 20 6c 70 50 61 67 65 53 65 74 75 lpPageSetu
3d80: 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a pTemplateName;..
3d90: 09 48 47 4c 4f 42 41 4c 20 20 20 20 20 20 20 20 .HGLOBAL
3da0: 20 68 50 61 67 65 53 65 74 75 70 54 65 6d 70 6c hPageSetupTempl
3db0: 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 50 ate;..}..alias P
3dc0: 41 47 45 53 45 54 55 50 44 4c 47 57 2a 20 4c 50 AGESETUPDLGW* LP
3dd0: 50 41 47 45 53 45 54 55 50 44 4c 47 57 3b 0d 0a PAGESETUPDLGW;..
3de0: 0d 0a 73 74 72 75 63 74 20 50 52 49 4e 54 44 4c ..struct PRINTDL
3df0: 47 41 20 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 GA {...DWORD
3e00: 20 20 20 20 20 20 20 6c 53 74 72 75 63 74 53 69 lStructSi
3e10: 7a 65 20 3d 20 50 52 49 4e 54 44 4c 47 41 2e 73 ze = PRINTDLGA.s
3e20: 69 7a 65 6f 66 3b 0d 0a 09 48 57 4e 44 20 20 20 izeof;...HWND
3e30: 20 20 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e hwndOwn
3e40: 65 72 3b 0d 0a 09 48 41 4e 44 4c 45 20 20 20 20 er;...HANDLE
3e50: 20 20 20 20 20 20 68 44 65 76 4d 6f 64 65 3b 0d hDevMode;.
3e60: 0a 09 48 41 4e 44 4c 45 20 20 20 20 20 20 20 20 ..HANDLE
3e70: 20 20 68 44 65 76 4e 61 6d 65 73 3b 0d 0a 09 48 hDevNames;...H
3e80: 44 43 20 20 20 20 20 20 20 20 20 20 20 20 20 68 DC h
3e90: 44 43 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 DC;...DWORD
3ea0: 20 20 20 20 20 20 46 6c 61 67 73 3b 0d 0a 09 57 Flags;...W
3eb0: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 6e ORD n
3ec0: 46 72 6f 6d 50 61 67 65 3b 0d 0a 09 57 4f 52 44 FromPage;...WORD
3ed0: 20 20 20 20 20 20 20 20 20 20 20 20 6e 54 6f 50 nToP
3ee0: 61 67 65 3b 0d 0a 09 57 4f 52 44 20 20 20 20 20 age;...WORD
3ef0: 20 20 20 20 20 20 20 6e 4d 69 6e 50 61 67 65 3b nMinPage;
3f00: 0d 0a 09 57 4f 52 44 20 20 20 20 20 20 20 20 20 ...WORD
3f10: 20 20 20 6e 4d 61 78 50 61 67 65 3b 0d 0a 09 57 nMaxPage;...W
3f20: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 6e ORD n
3f30: 43 6f 70 69 65 73 3b 0d 0a 09 48 49 4e 53 54 41 Copies;...HINSTA
3f40: 4e 43 45 20 20 20 20 20 20 20 68 49 6e 73 74 61 NCE hInsta
3f50: 6e 63 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 nce;...DWORD
3f60: 20 20 20 20 20 20 20 6c 43 75 73 74 44 61 74 61 lCustData
3f70: 3b 0d 0a 09 4c 50 50 52 49 4e 54 48 4f 4f 4b 50 ;...LPPRINTHOOKP
3f80: 52 4f 43 20 6c 70 66 6e 50 72 69 6e 74 48 6f 6f ROC lpfnPrintHoo
3f90: 6b 3b 0d 0a 09 4c 50 53 45 54 55 50 48 4f 4f 4b k;...LPSETUPHOOK
3fa0: 50 52 4f 43 20 6c 70 66 6e 53 65 74 75 70 48 6f PROC lpfnSetupHo
3fb0: 6f 6b 3b 0d 0a 09 4c 50 43 53 54 52 20 20 20 20 ok;...LPCSTR
3fc0: 20 20 20 20 20 20 6c 70 50 72 69 6e 74 54 65 6d lpPrintTem
3fd0: 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a 09 4c 50 43 plateName;...LPC
3fe0: 53 54 52 20 20 20 20 20 20 20 20 20 20 6c 70 53 STR lpS
3ff0: 65 74 75 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 etupTemplateName
4000: 3b 0d 0a 09 48 41 4e 44 4c 45 20 20 20 20 20 20 ;...HANDLE
4010: 20 20 20 20 68 50 72 69 6e 74 54 65 6d 70 6c 61 hPrintTempla
4020: 74 65 3b 0d 0a 09 48 41 4e 44 4c 45 20 20 20 20 te;...HANDLE
4030: 20 20 20 20 20 20 68 53 65 74 75 70 54 65 6d 70 hSetupTemp
4040: 6c 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 late;..}..alias
4050: 50 52 49 4e 54 44 4c 47 41 2a 20 4c 50 50 52 49 PRINTDLGA* LPPRI
4060: 4e 54 44 4c 47 41 3b 0d 0a 0d 0a 73 74 72 75 63 NTDLGA;....struc
4070: 74 20 50 52 49 4e 54 44 4c 47 57 20 7b 0d 0a 09 t PRINTDLGW {...
4080: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 DWORD
4090: 6c 53 74 72 75 63 74 53 69 7a 65 20 3d 20 50 52 lStructSize = PR
40a0: 49 4e 54 44 4c 47 57 2e 73 69 7a 65 6f 66 3b 0d INTDLGW.sizeof;.
40b0: 0a 09 48 57 4e 44 20 20 20 20 20 20 20 20 20 20 ..HWND
40c0: 20 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 09 48 hwndOwner;...H
40d0: 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 68 ANDLE h
40e0: 44 65 76 4d 6f 64 65 3b 0d 0a 09 48 41 4e 44 4c DevMode;...HANDL
40f0: 45 20 20 20 20 20 20 20 20 20 20 68 44 65 76 4e E hDevN
4100: 61 6d 65 73 3b 0d 0a 09 48 44 43 20 20 20 20 20 ames;...HDC
4110: 20 20 20 20 20 20 20 20 68 44 43 3b 0d 0a 09 44 hDC;...D
4120: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 46 WORD F
4130: 6c 61 67 73 3b 0d 0a 09 57 4f 52 44 20 20 20 20 lags;...WORD
4140: 20 20 20 20 20 20 20 20 6e 46 72 6f 6d 50 61 67 nFromPag
4150: 65 3b 0d 0a 09 57 4f 52 44 20 20 20 20 20 20 20 e;...WORD
4160: 20 20 20 20 20 6e 54 6f 50 61 67 65 3b 0d 0a 09 nToPage;...
4170: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 WORD
4180: 6e 4d 69 6e 50 61 67 65 3b 0d 0a 09 57 4f 52 44 nMinPage;...WORD
4190: 20 20 20 20 20 20 20 20 20 20 20 20 6e 4d 61 78 nMax
41a0: 50 61 67 65 3b 0d 0a 09 57 4f 52 44 20 20 20 20 Page;...WORD
41b0: 20 20 20 20 20 20 20 20 6e 43 6f 70 69 65 73 3b nCopies;
41c0: 0d 0a 09 48 49 4e 53 54 41 4e 43 45 20 20 20 20 ...HINSTANCE
41d0: 20 20 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 09 hInstance;...
41e0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 DWORD
41f0: 6c 43 75 73 74 44 61 74 61 3b 0d 0a 09 4c 50 50 lCustData;...LPP
4200: 52 49 4e 54 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 RINTHOOKPROC lpf
4210: 6e 50 72 69 6e 74 48 6f 6f 6b 3b 0d 0a 09 4c 50 nPrintHook;...LP
4220: 53 45 54 55 50 48 4f 4f 4b 50 52 4f 43 20 6c 70 SETUPHOOKPROC lp
4230: 66 6e 53 65 74 75 70 48 6f 6f 6b 3b 0d 0a 09 4c fnSetupHook;...L
4240: 50 43 57 53 54 52 20 20 20 20 20 20 20 20 20 6c PCWSTR l
4250: 70 50 72 69 6e 74 54 65 6d 70 6c 61 74 65 4e 61 pPrintTemplateNa
4260: 6d 65 3b 0d 0a 09 4c 50 43 57 53 54 52 20 20 20 me;...LPCWSTR
4270: 20 20 20 20 20 20 6c 70 53 65 74 75 70 54 65 6d lpSetupTem
4280: 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a 09 48 41 4e plateName;...HAN
4290: 44 4c 45 20 20 20 20 20 20 20 20 20 20 68 50 72 DLE hPr
42a0: 69 6e 74 54 65 6d 70 6c 61 74 65 3b 0d 0a 09 48 intTemplate;...H
42b0: 41 4e 44 4c 45 20 20 20 20 20 20 20 20 20 20 68 ANDLE h
42c0: 53 65 74 75 70 54 65 6d 70 6c 61 74 65 3b 0d 0a SetupTemplate;..
42d0: 7d 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54 44 4c }..alias PRINTDL
42e0: 47 57 2a 20 4c 50 50 52 49 4e 54 44 4c 47 57 3b GW* LPPRINTDLGW;
42f0: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f ....static if (_
4300: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
4310: 78 35 30 30 29 20 7b 0d 0a 09 69 6d 70 6f 72 74 x500) {...import
4320: 20 77 69 6e 33 32 2e 75 6e 6b 6e 77 6e 3b 20 2f win32.unknwn; /
4330: 2f 20 66 6f 72 20 4c 50 55 4e 4b 4e 4f 57 4e 0d / for LPUNKNOWN.
4340: 0a 09 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 70 ..import win32.p
4350: 72 73 68 74 3b 20 20 2f 2f 20 66 6f 72 20 48 50 rsht; // for HP
4360: 52 4f 50 53 48 45 45 54 50 41 47 45 0d 0a 0d 0a ROPSHEETPAGE....
4370: 09 73 74 72 75 63 74 20 50 52 49 4e 54 50 41 47 .struct PRINTPAG
4380: 45 52 41 4e 47 45 20 7b 0d 0a 09 09 44 57 4f 52 ERANGE {....DWOR
4390: 44 20 20 6e 46 72 6f 6d 50 61 67 65 3b 0d 0a 09 D nFromPage;...
43a0: 09 44 57 4f 52 44 20 20 6e 54 6f 50 61 67 65 3b .DWORD nToPage;
43b0: 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 50 52 49 ...}...alias PRI
43c0: 4e 54 50 41 47 45 52 41 4e 47 45 2a 20 4c 50 50 NTPAGERANGE* LPP
43d0: 52 49 4e 54 50 41 47 45 52 41 4e 47 45 3b 0d 0a RINTPAGERANGE;..
43e0: 0d 0a 09 73 74 72 75 63 74 20 50 52 49 4e 54 44 ...struct PRINTD
43f0: 4c 47 45 58 41 20 7b 0d 0a 09 09 44 57 4f 52 44 LGEXA {....DWORD
4400: 20 20 20 20 20 20 20 20 20 20 20 20 6c 53 74 72 lStr
4410: 75 63 74 53 69 7a 65 20 3d 20 50 52 49 4e 54 44 uctSize = PRINTD
4420: 4c 47 45 58 41 2e 73 69 7a 65 6f 66 3b 0d 0a 09 LGEXA.sizeof;...
4430: 09 48 57 4e 44 20 20 20 20 20 20 20 20 20 20 20 .HWND
4440: 20 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 09 09 hwndOwner;....
4450: 48 47 4c 4f 42 41 4c 20 20 20 20 20 20 20 20 20 HGLOBAL
4460: 20 68 44 65 76 4d 6f 64 65 3b 0d 0a 09 09 48 47 hDevMode;....HG
4470: 4c 4f 42 41 4c 20 20 20 20 20 20 20 20 20 20 68 LOBAL h
4480: 44 65 76 4e 61 6d 65 73 3b 0d 0a 09 09 48 44 43 DevNames;....HDC
4490: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 44 hD
44a0: 43 3b 0d 0a 09 09 44 57 4f 52 44 20 20 20 20 20 C;....DWORD
44b0: 20 20 20 20 20 20 20 46 6c 61 67 73 3b 0d 0a 09 Flags;...
44c0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 .DWORD
44d0: 20 20 46 6c 61 67 73 32 3b 0d 0a 09 09 44 57 4f Flags2;....DWO
44e0: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 45 78 RD Ex
44f0: 63 6c 75 73 69 6f 6e 46 6c 61 67 73 3b 0d 0a 09 clusionFlags;...
4500: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 .DWORD
4510: 20 20 6e 50 61 67 65 52 61 6e 67 65 73 3b 0d 0a nPageRanges;..
4520: 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 ..DWORD
4530: 20 20 20 6e 4d 61 78 50 61 67 65 52 61 6e 67 65 nMaxPageRange
4540: 73 3b 0d 0a 09 09 4c 50 50 52 49 4e 54 50 41 47 s;....LPPRINTPAG
4550: 45 52 41 4e 47 45 20 6c 70 50 61 67 65 52 61 6e ERANGE lpPageRan
4560: 67 65 73 3b 0d 0a 09 09 44 57 4f 52 44 20 20 20 ges;....DWORD
4570: 20 20 20 20 20 20 20 20 20 6e 4d 69 6e 50 61 67 nMinPag
4580: 65 3b 0d 0a 09 09 44 57 4f 52 44 20 20 20 20 20 e;....DWORD
4590: 20 20 20 20 20 20 20 6e 4d 61 78 50 61 67 65 3b nMaxPage;
45a0: 0d 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 ....DWORD
45b0: 20 20 20 20 20 6e 43 6f 70 69 65 73 3b 0d 0a 09 nCopies;...
45c0: 09 48 49 4e 53 54 41 4e 43 45 20 20 20 20 20 20 .HINSTANCE
45d0: 20 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 09 09 hInstance;....
45e0: 4c 50 43 53 54 52 20 20 20 20 20 20 20 20 20 20 LPCSTR
45f0: 20 6c 70 50 72 69 6e 74 54 65 6d 70 6c 61 74 65 lpPrintTemplate
4600: 4e 61 6d 65 3b 0d 0a 09 09 4c 50 55 4e 4b 4e 4f Name;....LPUNKNO
4610: 57 4e 20 20 20 20 20 20 20 20 6c 70 43 61 6c 6c WN lpCall
4620: 62 61 63 6b 3b 0d 0a 09 09 44 57 4f 52 44 20 20 back;....DWORD
4630: 20 20 20 20 20 20 20 20 20 20 6e 50 72 6f 70 65 nPrope
4640: 72 74 79 50 61 67 65 73 3b 0d 0a 09 09 48 50 52 rtyPages;....HPR
4650: 4f 50 53 48 45 45 54 50 41 47 45 2a 20 20 6c 70 OPSHEETPAGE* lp
4660: 68 50 72 6f 70 65 72 74 79 50 61 67 65 73 3b 0d hPropertyPages;.
4670: 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
4680: 20 20 20 20 6e 53 74 61 72 74 50 61 67 65 3b 0d nStartPage;.
4690: 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
46a0: 20 20 20 20 64 77 52 65 73 75 6c 74 41 63 74 69 dwResultActi
46b0: 6f 6e 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 on;...}...alias
46c0: 50 52 49 4e 54 44 4c 47 45 58 41 2a 20 4c 50 50 PRINTDLGEXA* LPP
46d0: 52 49 4e 54 44 4c 47 45 58 41 3b 0d 0a 0d 0a 09 RINTDLGEXA;.....
46e0: 73 74 72 75 63 74 20 50 52 49 4e 54 44 4c 47 45 struct PRINTDLGE
46f0: 58 57 20 7b 0d 0a 09 09 44 57 4f 52 44 20 20 20 XW {....DWORD
4700: 20 20 20 20 20 20 20 20 20 6c 53 74 72 75 63 74 lStruct
4710: 53 69 7a 65 20 3d 20 50 52 49 4e 54 44 4c 47 45 Size = PRINTDLGE
4720: 58 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 48 57 XW.sizeof;....HW
4730: 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 20 68 ND h
4740: 77 6e 64 4f 77 6e 65 72 3b 0d 0a 09 09 48 47 4c wndOwner;....HGL
4750: 4f 42 41 4c 20 20 20 20 20 20 20 20 20 20 68 44 OBAL hD
4760: 65 76 4d 6f 64 65 3b 0d 0a 09 09 48 47 4c 4f 42 evMode;....HGLOB
4770: 41 4c 20 20 20 20 20 20 20 20 20 20 68 44 65 76 AL hDev
4780: 4e 61 6d 65 73 3b 0d 0a 09 09 48 44 43 20 20 20 Names;....HDC
4790: 20 20 20 20 20 20 20 20 20 20 20 68 44 43 3b 0d hDC;.
47a0: 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
47b0: 20 20 20 20 46 6c 61 67 73 3b 0d 0a 09 09 44 57 Flags;....DW
47c0: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 46 ORD F
47d0: 6c 61 67 73 32 3b 0d 0a 09 09 44 57 4f 52 44 20 lags2;....DWORD
47e0: 20 20 20 20 20 20 20 20 20 20 20 45 78 63 6c 75 Exclu
47f0: 73 69 6f 6e 46 6c 61 67 73 3b 0d 0a 09 09 44 57 sionFlags;....DW
4800: 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 6e ORD n
4810: 50 61 67 65 52 61 6e 67 65 73 3b 0d 0a 09 09 44 PageRanges;....D
4820: 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 20 WORD
4830: 6e 4d 61 78 50 61 67 65 52 61 6e 67 65 73 3b 0d nMaxPageRanges;.
4840: 0a 09 09 4c 50 50 52 49 4e 54 50 41 47 45 52 41 ...LPPRINTPAGERA
4850: 4e 47 45 20 6c 70 50 61 67 65 52 61 6e 67 65 73 NGE lpPageRanges
4860: 3b 0d 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 ;....DWORD
4870: 20 20 20 20 20 20 6e 4d 69 6e 50 61 67 65 3b 0d nMinPage;.
4880: 0a 09 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD
4890: 20 20 20 20 6e 4d 61 78 50 61 67 65 3b 0d 0a 09 nMaxPage;...
48a0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 .DWORD
48b0: 20 20 6e 43 6f 70 69 65 73 3b 0d 0a 09 09 48 49 nCopies;....HI
48c0: 4e 53 54 41 4e 43 45 20 20 20 20 20 20 20 20 68 NSTANCE h
48d0: 49 6e 73 74 61 6e 63 65 3b 0d 0a 09 09 4c 50 43 Instance;....LPC
48e0: 57 53 54 52 20 20 20 20 20 20 20 20 20 20 6c 70 WSTR lp
48f0: 50 72 69 6e 74 54 65 6d 70 6c 61 74 65 4e 61 6d PrintTemplateNam
4900: 65 3b 0d 0a 09 09 4c 50 55 4e 4b 4e 4f 57 4e 20 e;....LPUNKNOWN
4910: 20 20 20 20 20 20 20 6c 70 43 61 6c 6c 62 61 63 lpCallbac
4920: 6b 3b 0d 0a 09 09 44 57 4f 52 44 20 20 20 20 20 k;....DWORD
4930: 20 20 20 20 20 20 20 6e 50 72 6f 70 65 72 74 79 nProperty
4940: 50 61 67 65 73 3b 0d 0a 09 09 48 50 52 4f 50 53 Pages;....HPROPS
4950: 48 45 45 54 50 41 47 45 2a 20 20 6c 70 68 50 72 HEETPAGE* lphPr
4960: 6f 70 65 72 74 79 50 61 67 65 73 3b 0d 0a 09 09 opertyPages;....
4970: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 DWORD
4980: 20 6e 53 74 61 72 74 50 61 67 65 3b 0d 0a 09 09 nStartPage;....
4990: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 DWORD
49a0: 20 64 77 52 65 73 75 6c 74 41 63 74 69 6f 6e 3b dwResultAction;
49b0: 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 50 52 49 ...}...alias PRI
49c0: 4e 54 44 4c 47 45 58 57 2a 20 4c 50 50 52 49 4e NTDLGEXW* LPPRIN
49d0: 54 44 4c 47 45 58 57 3b 0d 0a 0d 0a 7d 20 2f 2f TDLGEXW;....} //
49e0: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d _WIN32_WINNT >=
49f0: 20 30 78 35 30 30 0d 0a 0d 0a 65 78 74 65 72 6e 0x500....extern
4a00: 20 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 42 (Windows) {...B
4a10: 4f 4f 4c 20 43 68 6f 6f 73 65 43 6f 6c 6f 72 41 OOL ChooseColorA
4a20: 28 4c 50 43 48 4f 4f 53 45 43 4f 4c 4f 52 41 29 (LPCHOOSECOLORA)
4a30: 3b 0d 0a 09 42 4f 4f 4c 20 43 68 6f 6f 73 65 43 ;...BOOL ChooseC
4a40: 6f 6c 6f 72 57 28 4c 50 43 48 4f 4f 53 45 43 4f olorW(LPCHOOSECO
4a50: 4c 4f 52 57 29 3b 0d 0a 09 42 4f 4f 4c 20 43 68 LORW);...BOOL Ch
4a60: 6f 6f 73 65 46 6f 6e 74 41 28 4c 50 43 48 4f 4f ooseFontA(LPCHOO
4a70: 53 45 46 4f 4e 54 41 29 3b 0d 0a 09 42 4f 4f 4c SEFONTA);...BOOL
4a80: 20 43 68 6f 6f 73 65 46 6f 6e 74 57 28 4c 50 43 ChooseFontW(LPC
4a90: 48 4f 4f 53 45 46 4f 4e 54 57 29 3b 0d 0a 09 44 HOOSEFONTW);...D
4aa0: 57 4f 52 44 20 43 6f 6d 6d 44 6c 67 45 78 74 65 WORD CommDlgExte
4ab0: 6e 64 65 64 45 72 72 6f 72 28 29 3b 0d 0a 09 48 ndedError();...H
4ac0: 57 4e 44 20 46 69 6e 64 54 65 78 74 41 28 4c 50 WND FindTextA(LP
4ad0: 46 49 4e 44 52 45 50 4c 41 43 45 41 29 3b 0d 0a FINDREPLACEA);..
4ae0: 09 48 57 4e 44 20 46 69 6e 64 54 65 78 74 57 28 .HWND FindTextW(
4af0: 4c 50 46 49 4e 44 52 45 50 4c 41 43 45 57 29 3b LPFINDREPLACEW);
4b00: 0d 0a 09 73 68 6f 72 74 20 47 65 74 46 69 6c 65 ...short GetFile
4b10: 54 69 74 6c 65 41 28 4c 50 43 53 54 52 2c 20 4c TitleA(LPCSTR, L
4b20: 50 53 54 52 2c 20 57 4f 52 44 29 3b 0d 0a 09 73 PSTR, WORD);...s
4b30: 68 6f 72 74 20 47 65 74 46 69 6c 65 54 69 74 6c hort GetFileTitl
4b40: 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 eW(LPCWSTR, LPWS
4b50: 54 52 2c 20 57 4f 52 44 29 3b 0d 0a 09 42 4f 4f TR, WORD);...BOO
4b60: 4c 20 47 65 74 4f 70 65 6e 46 69 6c 65 4e 61 6d L GetOpenFileNam
4b70: 65 41 28 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d eA(LPOPENFILENAM
4b80: 45 41 29 3b 0d 0a 09 42 4f 4f 4c 20 47 65 74 4f EA);...BOOL GetO
4b90: 70 65 6e 46 69 6c 65 4e 61 6d 65 57 28 4c 50 4f penFileNameW(LPO
4ba0: 50 45 4e 46 49 4c 45 4e 41 4d 45 57 29 3b 0d 0a PENFILENAMEW);..
4bb0: 09 42 4f 4f 4c 20 47 65 74 53 61 76 65 46 69 6c .BOOL GetSaveFil
4bc0: 65 4e 61 6d 65 41 28 4c 50 4f 50 45 4e 46 49 4c eNameA(LPOPENFIL
4bd0: 45 4e 41 4d 45 41 29 3b 0d 0a 09 42 4f 4f 4c 20 ENAMEA);...BOOL
4be0: 47 65 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 57 GetSaveFileNameW
4bf0: 28 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 57 (LPOPENFILENAMEW
4c00: 29 3b 0d 0a 09 42 4f 4f 4c 20 50 61 67 65 53 65 );...BOOL PageSe
4c10: 74 75 70 44 6c 67 41 28 4c 50 50 41 47 45 53 45 tupDlgA(LPPAGESE
4c20: 54 55 50 44 4c 47 41 29 3b 0d 0a 09 42 4f 4f 4c TUPDLGA);...BOOL
4c30: 20 50 61 67 65 53 65 74 75 70 44 6c 67 57 28 4c PageSetupDlgW(L
4c40: 50 50 41 47 45 53 45 54 55 50 44 4c 47 57 29 3b PPAGESETUPDLGW);
4c50: 0d 0a 09 42 4f 4f 4c 20 50 72 69 6e 74 44 6c 67 ...BOOL PrintDlg
4c60: 41 28 4c 50 50 52 49 4e 54 44 4c 47 41 29 3b 0d A(LPPRINTDLGA);.
4c70: 0a 09 42 4f 4f 4c 20 50 72 69 6e 74 44 6c 67 57 ..BOOL PrintDlgW
4c80: 28 4c 50 50 52 49 4e 54 44 4c 47 57 29 3b 0d 0a (LPPRINTDLGW);..
4c90: 09 48 57 4e 44 20 52 65 70 6c 61 63 65 54 65 78 .HWND ReplaceTex
4ca0: 74 41 28 4c 50 46 49 4e 44 52 45 50 4c 41 43 45 tA(LPFINDREPLACE
4cb0: 41 29 3b 0d 0a 09 48 57 4e 44 20 52 65 70 6c 61 A);...HWND Repla
4cc0: 63 65 54 65 78 74 57 28 4c 50 46 49 4e 44 52 45 ceTextW(LPFINDRE
4cd0: 50 4c 41 43 45 57 29 3b 0d 0a 0d 0a 09 73 74 61 PLACEW);.....sta
4ce0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 tic if (_WIN32_W
4cf0: 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 7b INNT >= 0x500) {
4d00: 0d 0a 09 09 48 52 45 53 55 4c 54 20 50 72 69 6e ....HRESULT Prin
4d10: 74 44 6c 67 45 78 41 28 4c 50 50 52 49 4e 54 44 tDlgExA(LPPRINTD
4d20: 4c 47 45 58 41 29 3b 0d 0a 09 09 48 52 45 53 55 LGEXA);....HRESU
4d30: 4c 54 20 50 72 69 6e 74 44 6c 67 45 78 57 28 4c LT PrintDlgExW(L
4d40: 50 50 52 49 4e 54 44 4c 47 45 58 57 29 3b 0d 0a PPRINTDLGEXW);..
4d50: 09 7d 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 69 6f 6e .}..}....version
4d60: 20 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 (Unicode) {...a
4d70: 6c 69 61 73 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 lias CHOOSECOLOR
4d80: 57 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 3b 0d 0a W CHOOSECOLOR;..
4d90: 09 61 6c 69 61 73 20 43 48 4f 4f 53 45 46 4f 4e .alias CHOOSEFON
4da0: 54 57 20 43 48 4f 4f 53 45 46 4f 4e 54 3b 0d 0a TW CHOOSEFONT;..
4db0: 09 61 6c 69 61 73 20 46 49 4e 44 52 45 50 4c 41 .alias FINDREPLA
4dc0: 43 45 57 20 46 49 4e 44 52 45 50 4c 41 43 45 3b CEW FINDREPLACE;
4dd0: 0d 0a 09 61 6c 69 61 73 20 4f 50 45 4e 46 49 4c ...alias OPENFIL
4de0: 45 4e 41 4d 45 57 20 4f 50 45 4e 46 49 4c 45 4e ENAMEW OPENFILEN
4df0: 41 4d 45 3b 0d 0a 09 61 6c 69 61 73 20 4f 46 4e AME;...alias OFN
4e00: 4f 54 49 46 59 57 20 4f 46 4e 4f 54 49 46 59 3b OTIFYW OFNOTIFY;
4e10: 0d 0a 09 61 6c 69 61 73 20 50 41 47 45 53 45 54 ...alias PAGESET
4e20: 55 50 44 4c 47 57 20 50 41 47 45 53 45 54 55 50 UPDLGW PAGESETUP
4e30: 44 4c 47 3b 0d 0a 09 61 6c 69 61 73 20 50 52 49 DLG;...alias PRI
4e40: 4e 54 44 4c 47 57 20 50 52 49 4e 54 44 4c 47 3b NTDLGW PRINTDLG;
4e50: 0d 0a 0d 0a 09 61 6c 69 61 73 20 43 68 6f 6f 73 .....alias Choos
4e60: 65 43 6f 6c 6f 72 57 20 43 68 6f 6f 73 65 43 6f eColorW ChooseCo
4e70: 6c 6f 72 3b 0d 0a 09 61 6c 69 61 73 20 43 68 6f lor;...alias Cho
4e80: 6f 73 65 46 6f 6e 74 57 20 43 68 6f 6f 73 65 46 oseFontW ChooseF
4e90: 6f 6e 74 3b 0d 0a 09 61 6c 69 61 73 20 46 69 6e ont;...alias Fin
4ea0: 64 54 65 78 74 57 20 46 69 6e 64 54 65 78 74 3b dTextW FindText;
4eb0: 0d 0a 09 61 6c 69 61 73 20 47 65 74 46 69 6c 65 ...alias GetFile
4ec0: 54 69 74 6c 65 57 20 47 65 74 46 69 6c 65 54 69 TitleW GetFileTi
4ed0: 74 6c 65 3b 0d 0a 09 61 6c 69 61 73 20 47 65 74 tle;...alias Get
4ee0: 4f 70 65 6e 46 69 6c 65 4e 61 6d 65 57 20 47 65 OpenFileNameW Ge
4ef0: 74 4f 70 65 6e 46 69 6c 65 4e 61 6d 65 3b 0d 0a tOpenFileName;..
4f00: 09 61 6c 69 61 73 20 47 65 74 53 61 76 65 46 69 .alias GetSaveFi
4f10: 6c 65 4e 61 6d 65 57 20 47 65 74 53 61 76 65 46 leNameW GetSaveF
4f20: 69 6c 65 4e 61 6d 65 3b 0d 0a 09 61 6c 69 61 73 ileName;...alias
4f30: 20 50 61 67 65 53 65 74 75 70 44 6c 67 57 20 50 PageSetupDlgW P
4f40: 61 67 65 53 65 74 75 70 44 6c 67 3b 0d 0a 09 61 ageSetupDlg;...a
4f50: 6c 69 61 73 20 50 72 69 6e 74 44 6c 67 57 20 50 lias PrintDlgW P
4f60: 72 69 6e 74 44 6c 67 3b 0d 0a 09 61 6c 69 61 73 rintDlg;...alias
4f70: 20 52 65 70 6c 61 63 65 54 65 78 74 57 20 52 65 ReplaceTextW Re
4f80: 70 6c 61 63 65 54 65 78 74 3b 0d 0a 0d 0a 09 73 placeText;.....s
4f90: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 tatic if (_WIN32
4fa0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 _WINNT >= 0x500)
4fb0: 20 7b 0d 0a 09 09 61 6c 69 61 73 20 50 52 49 4e {....alias PRIN
4fc0: 54 44 4c 47 45 58 57 20 50 52 49 4e 54 44 4c 47 TDLGEXW PRINTDLG
4fd0: 45 58 3b 0d 0a 09 09 61 6c 69 61 73 20 50 72 69 EX;....alias Pri
4fe0: 6e 74 44 6c 67 45 78 57 20 50 72 69 6e 74 44 6c ntDlgExW PrintDl
4ff0: 67 45 78 3b 0d 0a 09 7d 0d 0a 0d 0a 7d 20 65 6c gEx;...}....} el
5000: 73 65 20 7b 20 2f 2f 20 55 4e 49 43 4f 44 45 0d se { // UNICODE.
5010: 0a 0d 0a 09 61 6c 69 61 73 20 43 48 4f 4f 53 45 ....alias CHOOSE
5020: 43 4f 4c 4f 52 41 20 43 48 4f 4f 53 45 43 4f 4c COLORA CHOOSECOL
5030: 4f 52 3b 0d 0a 09 61 6c 69 61 73 20 43 48 4f 4f OR;...alias CHOO
5040: 53 45 46 4f 4e 54 41 20 43 48 4f 4f 53 45 46 4f SEFONTA CHOOSEFO
5050: 4e 54 3b 0d 0a 09 61 6c 69 61 73 20 46 49 4e 44 NT;...alias FIND
5060: 52 45 50 4c 41 43 45 41 20 46 49 4e 44 52 45 50 REPLACEA FINDREP
5070: 4c 41 43 45 3b 0d 0a 09 61 6c 69 61 73 20 4f 50 LACE;...alias OP
5080: 45 4e 46 49 4c 45 4e 41 4d 45 41 20 4f 50 45 4e ENFILENAMEA OPEN
5090: 46 49 4c 45 4e 41 4d 45 3b 0d 0a 09 61 6c 69 61 FILENAME;...alia
50a0: 73 20 4f 46 4e 4f 54 49 46 59 41 20 4f 46 4e 4f s OFNOTIFYA OFNO
50b0: 54 49 46 59 3b 0d 0a 09 61 6c 69 61 73 20 50 41 TIFY;...alias PA
50c0: 47 45 53 45 54 55 50 44 4c 47 41 20 50 41 47 45 GESETUPDLGA PAGE
50d0: 53 45 54 55 50 44 4c 47 3b 0d 0a 09 61 6c 69 61 SETUPDLG;...alia
50e0: 73 20 50 52 49 4e 54 44 4c 47 41 20 50 52 49 4e s PRINTDLGA PRIN
50f0: 54 44 4c 47 3b 0d 0a 0d 0a 09 61 6c 69 61 73 20 TDLG;.....alias
5100: 43 68 6f 6f 73 65 43 6f 6c 6f 72 41 20 43 68 6f ChooseColorA Cho
5110: 6f 73 65 43 6f 6c 6f 72 3b 0d 0a 09 61 6c 69 61 oseColor;...alia
5120: 73 20 43 68 6f 6f 73 65 46 6f 6e 74 41 20 43 68 s ChooseFontA Ch
5130: 6f 6f 73 65 46 6f 6e 74 3b 0d 0a 09 61 6c 69 61 ooseFont;...alia
5140: 73 20 46 69 6e 64 54 65 78 74 41 20 46 69 6e 64 s FindTextA Find
5150: 54 65 78 74 3b 0d 0a 09 61 6c 69 61 73 20 47 65 Text;...alias Ge
5160: 74 46 69 6c 65 54 69 74 6c 65 41 20 47 65 74 46 tFileTitleA GetF
5170: 69 6c 65 54 69 74 6c 65 3b 0d 0a 09 61 6c 69 61 ileTitle;...alia
5180: 73 20 47 65 74 4f 70 65 6e 46 69 6c 65 4e 61 6d s GetOpenFileNam
5190: 65 41 20 47 65 74 4f 70 65 6e 46 69 6c 65 4e 61 eA GetOpenFileNa
51a0: 6d 65 3b 0d 0a 09 61 6c 69 61 73 20 47 65 74 53 me;...alias GetS
51b0: 61 76 65 46 69 6c 65 4e 61 6d 65 41 20 47 65 74 aveFileNameA Get
51c0: 53 61 76 65 46 69 6c 65 4e 61 6d 65 3b 0d 0a 09 SaveFileName;...
51d0: 61 6c 69 61 73 20 50 61 67 65 53 65 74 75 70 44 alias PageSetupD
51e0: 6c 67 41 20 50 61 67 65 53 65 74 75 70 44 6c 67 lgA PageSetupDlg
51f0: 3b 0d 0a 09 61 6c 69 61 73 20 50 72 69 6e 74 44 ;...alias PrintD
5200: 6c 67 41 20 50 72 69 6e 74 44 6c 67 3b 0d 0a 09 lgA PrintDlg;...
5210: 61 6c 69 61 73 20 52 65 70 6c 61 63 65 54 65 78 alias ReplaceTex
5220: 74 41 20 52 65 70 6c 61 63 65 54 65 78 74 3b 0d tA ReplaceText;.
5230: 0a 0d 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f ....static if (_
5240: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
5250: 78 35 30 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73 x500) {....alias
5260: 20 50 52 49 4e 54 44 4c 47 45 58 41 20 50 52 49 PRINTDLGEXA PRI
5270: 4e 54 44 4c 47 45 58 3b 0d 0a 09 09 61 6c 69 61 NTDLGEX;....alia
5280: 73 20 50 72 69 6e 74 44 6c 67 45 78 41 20 50 72 s PrintDlgExA Pr
5290: 69 6e 74 44 6c 67 45 78 3b 0d 0a 09 7d 0d 0a 0d intDlgEx;...}...
52a0: 0a 7d 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d .} // UNICODE...
52b0: 0a 61 6c 69 61 73 20 43 48 4f 4f 53 45 43 4f 4c .alias CHOOSECOL
52c0: 4f 52 2a 20 4c 50 43 48 4f 4f 53 45 43 4f 4c 4f OR* LPCHOOSECOLO
52d0: 52 3b 0d 0a 61 6c 69 61 73 20 43 48 4f 4f 53 45 R;..alias CHOOSE
52e0: 46 4f 4e 54 2a 20 4c 50 43 48 4f 4f 53 45 46 4f FONT* LPCHOOSEFO
52f0: 4e 54 3b 0d 0a 61 6c 69 61 73 20 46 49 4e 44 52 NT;..alias FINDR
5300: 45 50 4c 41 43 45 2a 20 4c 50 46 49 4e 44 52 45 EPLACE* LPFINDRE
5310: 50 4c 41 43 45 3b 0d 0a 61 6c 69 61 73 20 4f 50 PLACE;..alias OP
5320: 45 4e 46 49 4c 45 4e 41 4d 45 2a 20 4c 50 4f 50 ENFILENAME* LPOP
5330: 45 4e 46 49 4c 45 4e 41 4d 45 3b 0d 0a 61 6c 69 ENFILENAME;..ali
5340: 61 73 20 4f 46 4e 4f 54 49 46 59 2a 20 4c 50 4f as OFNOTIFY* LPO
5350: 46 4e 4f 54 49 46 59 3b 0d 0a 61 6c 69 61 73 20 FNOTIFY;..alias
5360: 50 41 47 45 53 45 54 55 50 44 4c 47 2a 20 4c 50 PAGESETUPDLG* LP
5370: 50 41 47 45 53 45 54 55 50 44 4c 47 3b 0d 0a 61 PAGESETUPDLG;..a
5380: 6c 69 61 73 20 50 52 49 4e 54 44 4c 47 2a 20 4c lias PRINTDLG* L
5390: 50 50 52 49 4e 54 44 4c 47 3b 0d 0a 73 74 61 74 PPRINTDLG;..stat
53a0: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 ic if (_WIN32_WI
53b0: 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d NNT >= 0x500) {.
53c0: 0a 09 61 6c 69 61 73 20 50 52 49 4e 54 44 4c 47 ..alias PRINTDLG
53d0: 45 58 2a 20 4c 50 50 52 49 4e 54 44 4c 47 45 58 EX* LPPRINTDLGEX
53e0: 3b 0d 0a 7d 0d 0a ;..}..