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