Differences From Artifact [6d620068807bb293]:
- File
src/win32/commdlg.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [dce8014c88d4101f]:
- File
src/win32/commdlg.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
> 1 /***********************************************************************\
> 2 * commdlg.d *
> 3 * *
> 4 * Windows API header module *
> 5 * *
> 6 * Translated from MinGW API for MS-Windows 3.12 *
> 7 * *
> 8 * Placed into public domain *
> 9 \***********************************************************************/
1 module win32.commdlg; 10 module win32.commdlg;
> 11 pragma(lib, "comdlg32.lib");
2 | 12
3 // Translated from Microsoft Platform SDK August 2001 Edition <
4 // by Y.Tomino | 13 private import win32.w32api;
5 <
6 import win32.windef; | 14 import win32.windef, win32.winuser;
7 import win32.winuser; | 15 import win32.wingdi; // for LPLOGFONTA
8 // inline #include <cderr.h> <
9 // ---- <
10 | 16
> 17 const TCHAR[]
> 18 LBSELCHSTRING = "commdlg_LBSelChangedNotify",
> 19 SHAREVISTRING = "commdlg_ShareViolation",
11 // #ifndef _INC_CDERR | 20 FILEOKSTRING = "commdlg_FileNameOK",
12 // #define _INC_CDERR | 21 COLOROKSTRING = "commdlg_ColorOK",
> 22 SETRGBSTRING = "commdlg_SetRGBColor",
> 23 HELPMSGSTRING = "commdlg_help",
> 24 FINDMSGSTRING = "commdlg_FindReplace";
13 | 25
14 // #if _MSC_VER > 1000 <
15 // #pragma once <
16 // #endif <
> 26 enum : UINT {
> 27 CDN_FIRST = -601, // also in commctrl.h
> 28 CDN_LAST = -699,
> 29 CDN_INITDONE = CDN_FIRST,
> 30 CDN_SELCHANGE = CDN_FIRST - 1,
> 31 CDN_FOLDERCHANGE = CDN_FIRST - 2,
> 32 CDN_SHAREVIOLATION = CDN_FIRST - 3,
> 33 CDN_HELP = CDN_FIRST - 4,
> 34 CDN_FILEOK = CDN_FIRST - 5,
> 35 CDN_TYPECHANGE = CDN_FIRST - 6
17 | 36 }
18 enum : uint { CDERR_DIALOGFAILURE = 0xFFFF } <
19 | 37
20 enum : uint { CDERR_GENERALCODES = 0x0000 } <
21 enum : uint { CDERR_STRUCTSIZE = 0x0001 } <
22 enum : uint { CDERR_INITIALIZATION = 0x0002 } <
23 enum : uint { CDERR_NOTEMPLATE = 0x0003 } <
24 enum : uint { CDERR_NOHINSTANCE = 0x0004 } <
25 enum : uint { CDERR_LOADSTRFAILURE = 0x0005 } <
26 enum : uint { CDERR_FINDRESFAILURE = 0x0006 } <
27 enum : uint { CDERR_LOADRESFAILURE = 0x0007 } <
28 enum : uint { CDERR_LOCKRESFAILURE = 0x0008 } <
29 enum : uint { CDERR_MEMALLOCFAILURE = 0x0009 } | 38 enum : UINT {
30 enum : uint { CDERR_MEMLOCKFAILURE = 0x000A } | 39 CDM_FIRST = WM_USER + 100,
31 enum : uint { CDERR_NOHOOK = 0x000B } | 40 CDM_LAST = WM_USER + 200,
32 enum : uint { CDERR_REGISTERMSGFAIL = 0x000C } | 41 CDM_GETSPEC = CDM_FIRST,
> 42 CDM_GETFILEPATH,
> 43 CDM_GETFOLDERPATH,
> 44 CDM_GETFOLDERIDLIST,
> 45 CDM_SETCONTROLTEXT,
> 46 CDM_HIDECONTROL,
> 47 CDM_SETDEFEXT // = CDM_FIRST + 6
33 | 48 }
34 enum : uint { PDERR_PRINTERCODES = 0x1000 } <
35 enum : uint { PDERR_SETUPFAILURE = 0x1001 } <
36 enum : uint { PDERR_PARSEFAILURE = 0x1002 } <
37 enum : uint { PDERR_RETDEFFAILURE = 0x1003 } <
38 enum : uint { PDERR_LOADDRVFAILURE = 0x1004 } <
39 enum : uint { PDERR_GETDEVMODEFAIL = 0x1005 } <
40 enum : uint { PDERR_INITFAILURE = 0x1006 } <
> 49
41 enum : uint { PDERR_NODEVICES = 0x1007 } | 50 // flags for ChooseColor
42 enum : uint { PDERR_NODEFAULTPRN = 0x1008 } | 51 enum : DWORD {
43 enum : uint { PDERR_DNDMMISMATCH = 0x1009 } | 52 CC_RGBINIT = 0x0001,
44 enum : uint { PDERR_CREATEICFAILURE = 0x100A } | 53 CC_FULLOPEN = 0x0002,
45 enum : uint { PDERR_PRINTERNOTFOUND = 0x100B } | 54 CC_PREVENTFULLOPEN = 0x0004,
46 enum : uint { PDERR_DEFAULTDIFFERENT = 0x100C } | 55 CC_SHOWHELP = 0x0008,
> 56 CC_ENABLEHOOK = 0x0010,
> 57 CC_ENABLETEMPLATE = 0x0020,
> 58 CC_ENABLETEMPLATEHANDLE = 0x0040,
> 59 CC_SOLIDCOLOR = 0x0080,
> 60 CC_ANYCOLOR = 0x0100
47 | 61 }
48 enum : uint { CFERR_CHOOSEFONTCODES = 0x2000 } <
49 enum : uint { CFERR_NOFONTS = 0x2001 } <
50 enum : uint { CFERR_MAXLESSTHANMIN = 0x2002 } <
51 | 62
52 enum : uint { FNERR_FILENAMECODES = 0x3000 } <
53 enum : uint { FNERR_SUBCLASSFAILURE = 0x3001 } <
54 enum : uint { FNERR_INVALIDFILENAME = 0x3002 } | 63 // flags for ChooseFont
55 enum : uint { FNERR_BUFFERTOOSMALL = 0x3003 } | 64 enum : DWORD {
> 65 CF_SCREENFONTS = 0x00000001,
> 66 CF_PRINTERFONTS = 0x00000002,
> 67 CF_BOTH = 0x00000003,
> 68 CF_SHOWHELP = 0x00000004,
> 69 CF_ENABLEHOOK = 0x00000008,
> 70 CF_ENABLETEMPLATE = 0x00000010,
> 71 CF_ENABLETEMPLATEHANDLE = 0x00000020,
> 72 CF_INITTOLOGFONTSTRUCT = 0x00000040,
> 73 CF_USESTYLE = 0x00000080,
> 74 CF_EFFECTS = 0x00000100,
> 75 CF_APPLY = 0x00000200,
> 76 CF_ANSIONLY = 0x00000400,
> 77 CF_SCRIPTSONLY = CF_ANSIONLY,
> 78 CF_NOVECTORFONTS = 0x00000800,
> 79 CF_NOOEMFONTS = 0x00000800,
> 80 CF_NOSIMULATIONS = 0x00001000,
> 81 CF_LIMITSIZE = 0x00002000,
> 82 CF_FIXEDPITCHONLY = 0x00004000,
> 83 CF_WYSIWYG = 0x00008000,
> 84 CF_FORCEFONTEXIST = 0x00010000,
> 85 CF_SCALABLEONLY = 0x00020000,
> 86 CF_TTONLY = 0x00040000,
> 87 CF_NOFACESEL = 0x00080000,
> 88 CF_NOSTYLESEL = 0x00100000,
> 89 CF_NOSIZESEL = 0x00200000,
> 90 CF_SELECTSCRIPT = 0x00400000,
> 91 CF_NOSCRIPTSEL = 0x00800000,
> 92 CF_NOVERTFONTS = 0x01000000
56 | 93 }
57 enum : uint { FRERR_FINDREPLACECODES = 0x4000 } <
58 enum : uint { FRERR_BUFFERLENGTHZERO = 0x4001 } <
59 | 94
60 enum : uint { CCERR_CHOOSECOLORCODES = 0x5000 } <
> 95 // Font type for ChooseFont
> 96 enum : WORD {
> 97 BOLD_FONTTYPE = 0x0100,
> 98 ITALIC_FONTTYPE = 0x0200,
> 99 REGULAR_FONTTYPE = 0x0400,
> 100 SCREEN_FONTTYPE = 0x2000,
> 101 PRINTER_FONTTYPE = 0x4000,
> 102 SIMULATED_FONTTYPE = 0x8000
61 | 103 }
62 // #endif /* !_INC_CDERR */ <
63 // ---- <
64 | 104
65 // #ifndef _INC_COMMDLG <
66 // #define _INC_COMMDLG <
> 105 enum : UINT {
> 106 WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1,
> 107 WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101,
> 108 WM_CHOOSEFONT_SETFLAGS = WM_USER + 102
67 | 109 }
68 // #if(WINVER >= 0x0500) <
69 | 110
70 // #ifdef DEFINE_GUID <
> 111 // flags for OpenFileName
> 112 enum : DWORD {
> 113 OFN_SHAREWARN = 0,
> 114 OFN_SHARENOWARN = 0x000001,
> 115 OFN_READONLY = 0x000001,
> 116 OFN_SHAREFALLTHROUGH = 0x000002,
> 117 OFN_OVERWRITEPROMPT = 0x000002,
> 118 OFN_HIDEREADONLY = 0x000004,
> 119 OFN_NOCHANGEDIR = 0x000008,
> 120 OFN_SHOWHELP = 0x000010,
> 121 OFN_ENABLEHOOK = 0x000020,
> 122 OFN_ENABLETEMPLATE = 0x000040,
> 123 OFN_ENABLETEMPLATEHANDLE = 0x000080,
> 124 OFN_NOVALIDATE = 0x000100,
> 125 OFN_ALLOWMULTISELECT = 0x000200,
> 126 OFN_EXTENSIONDIFFERENT = 0x000400,
> 127 OFN_PATHMUSTEXIST = 0x000800,
> 128 OFN_FILEMUSTEXIST = 0x001000,
> 129 OFN_CREATEPROMPT = 0x002000,
> 130 OFN_SHAREAWARE = 0x004000,
> 131 OFN_NOREADONLYRETURN = 0x008000,
> 132 OFN_NOTESTFILECREATE = 0x010000,
> 133 OFN_NONETWORKBUTTON = 0x020000,
> 134 OFN_NOLONGNAMES = 0x040000,
> 135 OFN_EXPLORER = 0x080000,
> 136 OFN_NODEREFERENCELINKS = 0x100000,
> 137 OFN_LONGNAMES = 0x200000,
> 138 OFN_ENABLESIZING = 0x800000
71 | 139 }
72 // ... <
73 | 140
74 // ... <
> 141 enum : DWORD {
> 142 FR_DOWN = 0x00000001,
> 143 FR_WHOLEWORD = 0x00000002,
> 144 FR_MATCHCASE = 0x00000004,
> 145 FR_FINDNEXT = 0x00000008,
> 146 FR_REPLACE = 0x00000010,
> 147 FR_REPLACEALL = 0x00000020,
> 148 FR_DIALOGTERM = 0x00000040,
> 149 FR_SHOWHELP = 0x00000080,
> 150 FR_ENABLEHOOK = 0x00000100,
> 151 FR_ENABLETEMPLATE = 0x00000200,
> 152 FR_NOUPDOWN = 0x00000400,
> 153 FR_NOMATCHCASE = 0x00000800,
> 154 FR_NOWHOLEWORD = 0x00001000,
> 155 FR_ENABLETEMPLATEHANDLE = 0x00002000,
> 156 FR_HIDEUPDOWN = 0x00004000,
> 157 FR_HIDEMATCHCASE = 0x00008000,
> 158 FR_HIDEWHOLEWORD = 0x00010000,
> 159 FR_MATCHDIAC = 0x20000000,
> 160 FR_MATCHKASHIDA = 0x40000000,
> 161 FR_MATCHALEFHAMZA = 0x80000000
75 | 162 }
76 // #endif <
77 | 163
78 // #endif /* WINVER >= 0x0500 */ <
> 164 enum : DWORD {
> 165 PD_ALLPAGES = 0,
> 166 PD_SELECTION = 0x000001,
> 167 PD_PAGENUMS = 0x000002,
> 168 PD_NOSELECTION = 0x000004,
> 169 PD_NOPAGENUMS = 0x000008,
> 170 PD_COLLATE = 0x000010,
> 171 PD_PRINTTOFILE = 0x000020,
> 172 PD_PRINTSETUP = 0x000040,
> 173 PD_NOWARNING = 0x000080,
> 174 PD_RETURNDC = 0x000100,
> 175 PD_RETURNIC = 0x000200,
> 176 PD_RETURNDEFAULT = 0x000400,
> 177 PD_SHOWHELP = 0x000800,
> 178 PD_ENABLEPRINTHOOK = 0x001000,
> 179 PD_ENABLESETUPHOOK = 0x002000,
> 180 PD_ENABLEPRINTTEMPLATE = 0x004000,
> 181 PD_ENABLESETUPTEMPLATE = 0x008000,
> 182 PD_ENABLEPRINTTEMPLATEHANDLE = 0x010000,
> 183 PD_ENABLESETUPTEMPLATEHANDLE = 0x020000,
> 184 PD_USEDEVMODECOPIES = 0x040000,
> 185 PD_USEDEVMODECOPIESANDCOLLATE = 0x040000,
> 186 PD_DISABLEPRINTTOFILE = 0x080000,
> 187 PD_HIDEPRINTTOFILE = 0x100000,
> 188 PD_NONETWORKBUTTON = 0x200000
79 | 189 }
80 // #ifndef GUID_DEFS_ONLY <
81 | 190
82 // #include <prsht.h> <
> 191 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
> 192 enum : DWORD {
> 193 PD_CURRENTPAGE = 0x00400000,
> 194 PD_NOCURRENTPAGE = 0x00800000,
> 195 PD_EXCLUSIONFLAGS = 0x01000000,
> 196 PD_USELARGETEMPLATE = 0x10000000,
83 | 197 }
84 // #if !defined(_WIN64) <
> 198
> 199 enum : HRESULT {
> 200 PD_RESULT_CANCEL,
> 201 PD_RESULT_PRINT,
> 202 PD_RESULT_APPLY
> 203 }
> 204
> 205 const DWORD START_PAGE_GENERAL = 0xFFFFFFFF;
> 206 }
> 207
> 208 enum {
> 209 PSD_DEFAULTMINMARGINS = 0,
> 210 PSD_INWININIINTLMEASURE = 0,
> 211 PSD_MINMARGINS = 0x000001,
> 212 PSD_MARGINS = 0x000002,
> 213 PSD_INTHOUSANDTHSOFINCHES = 0x000004,
> 214 PSD_INHUNDREDTHSOFMILLIMETERS = 0x000008,
> 215 PSD_DISABLEMARGINS = 0x000010,
> 216 PSD_DISABLEPRINTER = 0x000020,
> 217 PSD_NOWARNING = 0x000080,
> 218 PSD_DISABLEORIENTATION = 0x000100,
> 219 PSD_DISABLEPAPER = 0x000200,
> 220 PSD_RETURNDEFAULT = 0x000400,
> 221 PSD_SHOWHELP = 0x000800,
> 222 PSD_ENABLEPAGESETUPHOOK = 0x002000,
> 223 PSD_ENABLEPAGESETUPTEMPLATE = 0x008000,
> 224 PSD_ENABLEPAGESETUPTEMPLATEHANDLE = 0x020000,
> 225 PSD_ENABLEPAGEPAINTHOOK = 0x040000,
> 226 PSD_DISABLEPAGEPAINTING = 0x080000
> 227 }
> 228
> 229 enum : UINT {
> 230 WM_PSD_PAGESETUPDLG = WM_USER,
> 231 WM_PSD_FULLPAGERECT,
> 232 WM_PSD_MINMARGINRECT,
> 233 WM_PSD_MARGINRECT,
> 234 WM_PSD_GREEKTEXTRECT,
> 235 WM_PSD_ENVSTAMPRECT,
> 236 WM_PSD_YAFULLPAGERECT // = WM_USER + 6
> 237 }
> 238
> 239 enum : int {
> 240 CD_LBSELNOITEMS = -1,
> 241 CD_LBSELCHANGE,
> 242 CD_LBSELSUB,
> 243 CD_LBSELADD
> 244 }
> 245
> 246 const WORD DN_DEFAULTPRN = 1;
> 247
> 248 /+
> 249 // Both MinGW and the windows docs indicate that there are macros for the send m
> 250 // the controls. These seem to be totally unnecessary -- and at least one of Min
> 251 // Windows Docs is buggy!
> 252
> 253 int CommDlg_OpenSave_GetSpec(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
> 254 return SendMessage(hWndControl, CDM_GETSPEC, wParam, lParam);
> 255 }
> 256
> 257 int CommDlg_OpenSave_GetFilePath(HWND hWndControl, LPARAM lparam, WPARAM wParam)
> 258 return SendMessage(hWndControl, CDM_GETFILEPATH, wParam, lParam);
> 259 }
> 260
> 261 int CommDlg_OpenSave_GetFolderPath(HWND hWndControl, LPARAM lparam, WPARAM wPara
> 262 return SendMessage(hWndControl, CDM_GETFOLDERPATH, wParam, lParam);
> 263 }
> 264
> 265 int CommDlg_OpenSave_GetFolderIDList(HWND hWndControl, LPARAM lparam, WPARAM wPa
> 266 return SendMessage(hWndControl, CDM_GETFOLDERIDLIST, wParam, lParam);
> 267 }
> 268
> 269 void CommDlg_OpenSave_SetControlText(HWND hWndControl, LPARAM lparam, WPARAM wPa
> 270 return SendMessage(hWndControl, CDM_SETCONTROLTEXT, wParam, lParam);
> 271 }
> 272
> 273 void CommDlg_OpenSave_HideControl(HWND hWndControl, WPARAM wParam) {
> 274 return SendMessage(hWndControl, CDM_HIDECONTROL, wParam, 0);
> 275 }
> 276
> 277 void CommDlg_OpenSave_SetDefExt(HWND hWndControl, TCHAR* lparam) {
> 278 return SendMessage(hWndControl, CDM_SETCONTROLTEXT, 0, cast(LPARAM)lPara
> 279 }
> 280
> 281 // These aliases seem even more unnecessary
> 282 alias CommDlg_OpenSave_GetSpec
> 283 CommDlg_OpenSave_GetSpecA, CommDlg_OpenSave_GetSpecW;
> 284 alias CommDlg_OpenSave_GetFilePath
> 285 CommDlg_OpenSave_GetFilePathA, CommDlg_OpenSave_GetFilePathW;
> 286 alias CommDlg_OpenSave_GetFolderPath
> 287 CommDlg_OpenSave_GetFolderPathA, CommDlg_OpenSave_GetFolderPathW;
> 288 +/
> 289
> 290 // Callbacks.
> 291 extern(Windows) {
> 292 alias UINT function (HWND, UINT, WPARAM, LPARAM)
> 293 LPCCHOOKPROC, LPCFHOOKPROC, LPFRHOOKPROC, LPOFNHOOKPROC,
> 294 LPPAGEPAINTHOOK, LPPAGESETUPHOOK, LPSETUPHOOKPROC, LPPRINTHOOKPROC;
> 295 }
> 296
85 align(1): | 297 align (1):
86 // #endif <
87 | 298
88 // #ifdef __cplusplus <
89 // extern "C" { /* Assume C declarations for C++ */ <
90 // #endif /* __cplusplus */ <
> 299 struct CHOOSECOLORA {
> 300 DWORD lStructSize = CHOOSECOLORA.sizeof;
> 301 HWND hwndOwner;
> 302 HWND hInstance;
> 303 COLORREF rgbResult;
> 304 COLORREF* lpCustColors;
> 305 DWORD Flags;
> 306 LPARAM lCustData;
> 307 LPCCHOOKPROC lpfnHook;
> 308 LPCSTR lpTemplateName;
91 | 309 }
92 // #ifndef WINCOMMDLGAPI <
93 // #if !defined(_COMDLG32_) <
94 // #define WINCOMMDLGAPI DECLSPEC_IMPORT <
95 // #else <
96 // #... <
97 // #endif <
98 // #endif // WINCOMMDLGAPI <
> 310 alias CHOOSECOLORA* LPCHOOSECOLORA;
99 | 311
100 // #if(WINVER >= 0x0400) <
101 // #ifndef SNDMSG <
102 // #ifdef __cplusplus <
103 // #ifndef _MAC <
104 // #define SNDMSG ::SendMessage <
105 // #else <
106 // #... <
107 // #endif <
108 // #else /* __cplusplus */ <
109 // #ifndef _MAC <
110 // #... <
111 // #else <
112 // #... <
113 // #endif <
114 // #endif /* __cplusplus */ <
115 // #endif // ifndef SNDMSG <
116 // #endif /* WINVER >= 0x0400 */ <
> 312 struct CHOOSECOLORW {
> 313 DWORD lStructSize = CHOOSECOLORW.sizeof;
> 314 HWND hwndOwner;
> 315 HWND hInstance;
> 316 COLORREF rgbResult;
> 317 COLORREF* lpCustColors;
> 318 DWORD Flags;
> 319 LPARAM lCustData;
> 320 LPCCHOOKPROC lpfnHook;
> 321 LPCWSTR lpTemplateName;
117 | 322 }
118 // #ifdef _MAC <
119 // ... <
120 // #endif <
> 323 alias CHOOSECOLORW* LPCHOOSECOLORW;
121 | 324
122 extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPOFNHOOKPRO <
> 325 align (4) struct CHOOSEFONTA {
> 326 DWORD lStructSize = CHOOSEFONTA.sizeof;
> 327 HWND hwndOwner;
> 328 HDC hDC;
> 329 LPLOGFONTA lpLogFont;
> 330 INT iPointSize;
> 331 DWORD Flags;
> 332 DWORD rgbColors;
> 333 LPARAM lCustData;
> 334 LPCFHOOKPROC lpfnHook;
> 335 LPCSTR lpTemplateName;
> 336 HINSTANCE hInstance;
> 337 LPSTR lpszStyle;
> 338 WORD nFontType;
> 339 //WORD ___MISSING_ALIGNMENT__;
> 340 INT nSizeMin;
> 341 INT nSizeMax;
123 | 342 }
124 // #ifndef CDSIZEOF_STRUCT <
125 // #define CDSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0 <
126 // #endif <
> 343 alias CHOOSEFONTA* LPCHOOSEFONTA;
127 | 344
128 // #ifndef DUMMYUNIONNAME <
129 // #ifdef NONAMELESSUNION <
130 // #... <
131 // #endif // NONAMELESSUNION <
132 // #endif // DUMMYUNIONNAME <
> 345 align (4) struct CHOOSEFONTW {
> 346 DWORD lStructSize = CHOOSEFONTW.sizeof;
> 347 HWND hwndOwner;
> 348 HDC hDC;
> 349 LPLOGFONTW lpLogFont;
> 350 INT iPointSize;
> 351 DWORD Flags;
> 352 DWORD rgbColors;
> 353 LPARAM lCustData;
> 354 LPCFHOOKPROC lpfnHook;
> 355 LPCWSTR lpTemplateName;
> 356 HINSTANCE hInstance;
> 357 LPWSTR lpszStyle;
> 358 WORD nFontType;
> 359 //WORD ___MISSING_ALIGNMENT__;
> 360 INT nSizeMin;
> 361 INT nSizeMax;
133 | 362 }
> 363 alias CHOOSEFONTW* LPCHOOSEFONTW;
> 364
134 struct tagOFN_NT4A { | 365 struct DEVNAMES {
> 366 WORD wDriverOffset;
> 367 WORD wDeviceOffset;
> 368 WORD wOutputOffset;
> 369 WORD wDefault;
> 370 }
> 371 alias DEVNAMES* LPDEVNAMES;
> 372
> 373 struct FINDREPLACEA {
135 DWORD lStructSize; | 374 DWORD lStructSize = FINDREPLACEA.sizeof;
136 HWND hwndOwner; | 375 HWND hwndOwner;
137 HINSTANCE hInstance; | 376 HINSTANCE hInstance;
> 377 DWORD Flags;
> 378 LPSTR lpstrFindWhat;
> 379 LPSTR lpstrReplaceWith;
> 380 WORD wFindWhatLen;
> 381 WORD wReplaceWithLen;
> 382 LPARAM lCustData;
> 383 LPFRHOOKPROC lpfnHook;
> 384 LPCSTR lpTemplateName;
> 385 }
> 386 alias FINDREPLACEA* LPFINDREPLACEA;
> 387
> 388 struct FINDREPLACEW {
> 389 DWORD lStructSize = FINDREPLACEW.sizeof;
> 390 HWND hwndOwner;
> 391 HINSTANCE hInstance;
> 392 DWORD Flags;
> 393 LPWSTR lpstrFindWhat;
> 394 LPWSTR lpstrReplaceWith;
> 395 WORD wFindWhatLen;
> 396 WORD wReplaceWithLen;
> 397 LPARAM lCustData;
> 398 LPFRHOOKPROC lpfnHook;
> 399 LPCWSTR lpTemplateName;
> 400 }
> 401 alias FINDREPLACEW* LPFINDREPLACEW;
> 402
> 403 struct OPENFILENAMEA {
> 404 DWORD lStructSize = OPENFILENAMEA.sizeof;
> 405 HWND hwndOwner;
> 406 HINSTANCE hInstance;
138 LPCSTR lpstrFilter; | 407 LPCSTR lpstrFilter;
139 LPSTR lpstrCustomFilter; | 408 LPSTR lpstrCustomFilter;
140 DWORD nMaxCustFilter; | 409 DWORD nMaxCustFilter;
141 DWORD nFilterIndex; | 410 DWORD nFilterIndex;
142 LPSTR lpstrFile; | 411 LPSTR lpstrFile;
143 DWORD nMaxFile; | 412 DWORD nMaxFile;
144 LPSTR lpstrFileTitle; | 413 LPSTR lpstrFileTitle;
145 DWORD nMaxFileTitle; | 414 DWORD nMaxFileTitle;
146 LPCSTR lpstrInitialDir; | 415 LPCSTR lpstrInitialDir;
147 LPCSTR lpstrTitle; | 416 LPCSTR lpstrTitle;
148 DWORD Flags; | 417 DWORD Flags;
149 WORD nFileOffset; | 418 WORD nFileOffset;
150 WORD nFileExtension; | 419 WORD nFileExtension;
151 LPCSTR lpstrDefExt; | 420 LPCSTR lpstrDefExt;
152 LPARAM lCustData; | 421 DWORD lCustData;
153 LPOFNHOOKPROC lpfnHook; | 422 LPOFNHOOKPROC lpfnHook;
154 LPCSTR lpTemplateName; | 423 LPCSTR lpTemplateName;
> 424
> 425 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) {
> 426 void *pvReserved;
> 427 DWORD dwReserved;
> 428 DWORD FlagsEx;
> 429 }
> 430 }
> 431 alias OPENFILENAMEA* LPOPENFILENAMEA;
> 432
> 433 struct OPENFILENAMEW {
> 434 DWORD lStructSize = OPENFILENAMEW.sizeof;
> 435 HWND hwndOwner;
> 436 HINSTANCE hInstance;
> 437 LPCWSTR lpstrFilter;
> 438 LPWSTR lpstrCustomFilter;
> 439 DWORD nMaxCustFilter;
> 440 DWORD nFilterIndex;
> 441 LPWSTR lpstrFile;
> 442 DWORD nMaxFile;
> 443 LPWSTR lpstrFileTitle;
> 444 DWORD nMaxFileTitle;
> 445 LPCWSTR lpstrInitialDir;
> 446 LPCWSTR lpstrTitle;
> 447 DWORD Flags;
> 448 WORD nFileOffset;
> 449 WORD nFileExtension;
> 450 LPCWSTR lpstrDefExt;
> 451 DWORD lCustData;
> 452 LPOFNHOOKPROC lpfnHook;
> 453 LPCWSTR lpTemplateName;
> 454
> 455 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) {
> 456 void *pvReserved;
> 457 DWORD dwReserved;
> 458 DWORD FlagsEx;
> 459 }
> 460 }
> 461 alias OPENFILENAMEW* LPOPENFILENAMEW;
> 462
> 463 const size_t OPENFILENAME_SIZE_VERSION_400 = 76;
> 464
> 465 struct OFNOTIFYA {
> 466 NMHDR hdr;
> 467 LPOPENFILENAMEA lpOFN;
> 468 LPSTR pszFile;
> 469 }
> 470 alias OFNOTIFYA* LPOFNOTIFYA;
> 471
> 472 struct OFNOTIFYW {
> 473 NMHDR hdr;
> 474 LPOPENFILENAMEW lpOFN;
> 475 LPWSTR pszFile;
> 476 }
> 477 alias OFNOTIFYW* LPOFNOTIFYW;
> 478
> 479 struct PAGESETUPDLGA {
> 480 DWORD lStructSize = PAGESETUPDLGA.sizeof;
> 481 HWND hwndOwner;
> 482 HGLOBAL hDevMode;
> 483 HGLOBAL hDevNames;
> 484 DWORD Flags;
> 485 POINT ptPaperSize;
> 486 RECT rtMinMargin;
> 487 RECT rtMargin;
> 488 HINSTANCE hInstance;
> 489 LPARAM lCustData;
> 490 LPPAGESETUPHOOK lpfnPageSetupHook;
> 491 LPPAGEPAINTHOOK lpfnPagePaintHook;
> 492 LPCSTR lpPageSetupTemplateName;
> 493 HGLOBAL hPageSetupTemplate;
> 494 }
> 495 alias PAGESETUPDLGA* LPPAGESETUPDLGA;
> 496
> 497 struct PAGESETUPDLGW {
> 498 DWORD lStructSize = PAGESETUPDLGW.sizeof;
> 499 HWND hwndOwner;
> 500 HGLOBAL hDevMode;
> 501 HGLOBAL hDevNames;
> 502 DWORD Flags;
> 503 POINT ptPaperSize;
> 504 RECT rtMinMargin;
> 505 RECT rtMargin;
> 506 HINSTANCE hInstance;
> 507 LPARAM lCustData;
> 508 LPPAGESETUPHOOK lpfnPageSetupHook;
> 509 LPPAGEPAINTHOOK lpfnPagePaintHook;
> 510 LPCWSTR lpPageSetupTemplateName;
> 511 HGLOBAL hPageSetupTemplate;
155 } 512 }
156 alias tagOFN_NT4A OPENFILENAME_NT4A; | 513 alias PAGESETUPDLGW* LPPAGESETUPDLGW;
157 alias tagOFN_NT4A* LPOPENFILENAME_NT4A; <
158 | 514
159 struct tagOFN_NT4W { | 515 struct PRINTDLGA {
160 DWORD lStructSize; | 516 DWORD lStructSize = PRINTDLGA.sizeof;
161 HWND hwndOwner; | 517 HWND hwndOwner;
> 518 HANDLE hDevMode;
162 HINSTANCE hInstance; | 519 HANDLE hDevNames;
163 LPCWSTR lpstrFilter; | 520 HDC hDC;
164 LPWSTR lpstrCustomFilter; | 521 DWORD Flags;
165 DWORD nMaxCustFilter; | 522 WORD nFromPage;
166 DWORD nFilterIndex; | 523 WORD nToPage;
167 LPWSTR lpstrFile; | 524 WORD nMinPage;
168 DWORD nMaxFile; | 525 WORD nMaxPage;
169 LPWSTR lpstrFileTitle; | 526 WORD nCopies;
170 DWORD nMaxFileTitle; | 527 HINSTANCE hInstance;
171 LPCWSTR lpstrInitialDir; <
172 LPCWSTR lpstrTitle; <
173 DWORD Flags; <
174 WORD nFileOffset; <
175 WORD nFileExtension; <
176 LPCWSTR lpstrDefExt; <
177 LPARAM lCustData; | 528 DWORD lCustData;
178 LPOFNHOOKPROC lpfnHook; | 529 LPPRINTHOOKPROC lpfnPrintHook;
179 LPCWSTR lpTemplateName; <
180 } <
181 alias tagOFN_NT4W OPENFILENAME_NT4W; <
182 alias tagOFN_NT4W* LPOPENFILENAME_NT4W; <
183 <
184 // #ifdef UNICODE <
185 alias OPENFILENAME_NT4W OPENFILENAME_NT4; <
186 alias LPOPENFILENAME_NT4W LPOPENFILENAME_NT4; <
187 // #else <
188 // ... <
189 // #endif // UNICODE <
190 <
191 struct tagOFNA { <
192 DWORD lStructSize; <
193 HWND hwndOwner; <
194 HINSTANCE hInstance; <
195 LPCSTR lpstrFilter; <
196 LPSTR lpstrCustomFilter; <
197 DWORD nMaxCustFilter; <
198 DWORD nFilterIndex; <
199 LPSTR lpstrFile; <
200 DWORD nMaxFile; <
201 LPSTR lpstrFileTitle; <
202 DWORD nMaxFileTitle; <
203 LPCSTR lpstrInitialDir; <
204 LPCSTR lpstrTitle; <
205 DWORD Flags; <
206 WORD nFileOffset; <
207 WORD nFileExtension; <
208 LPCSTR lpstrDefExt; <
209 LPARAM lCustData; <
210 LPOFNHOOKPROC lpfnHook; | 530 LPSETUPHOOKPROC lpfnSetupHook;
211 LPCSTR lpTemplateName; | 531 LPCSTR lpPrintTemplateName;
212 // #ifdef _MAC <
213 // ... <
214 // #endif <
215 // #if (_WIN32_WINNT >= 0x0500) <
216 void * pvReserved; <
217 DWORD dwReserved; <
218 DWORD FlagsEx; <
219 // #endif // (_WIN32_WINNT >= 0x0500) <
220 } <
221 alias tagOFNA OPENFILENAMEA; <
222 alias tagOFNA* LPOPENFILENAMEA; <
223 <
224 struct tagOFNW { <
225 DWORD lStructSize; <
226 HWND hwndOwner; <
227 HINSTANCE hInstance; <
228 LPCWSTR lpstrFilter; <
229 LPWSTR lpstrCustomFilter; <
230 DWORD nMaxCustFilter; <
231 DWORD nFilterIndex; <
232 LPWSTR lpstrFile; <
233 DWORD nMaxFile; <
234 LPWSTR lpstrFileTitle; <
235 DWORD nMaxFileTitle; <
236 LPCWSTR lpstrInitialDir; <
237 LPCWSTR lpstrTitle; <
238 DWORD Flags; <
239 WORD nFileOffset; <
240 WORD nFileExtension; <
241 LPCWSTR lpstrDefExt; <
242 LPARAM lCustData; <
243 LPOFNHOOKPROC lpfnHook; <
244 LPCWSTR lpTemplateName; | 532 LPCSTR lpSetupTemplateName;
245 // #ifdef _MAC <
246 // ... <
247 // #endif <
248 // #if (_WIN32_WINNT >= 0x0500) <
249 void * pvReserved; <
250 DWORD dwReserved; <
251 DWORD FlagsEx; <
252 // #endif // (_WIN32_WINNT >= 0x0500) <
> 533 HANDLE hPrintTemplate;
> 534 HANDLE hSetupTemplate;
253 } 535 }
254 alias tagOFNW OPENFILENAMEW; | 536 alias PRINTDLGA* LPPRINTDLGA;
255 alias tagOFNW* LPOPENFILENAMEW; <
256 | 537
> 538 struct PRINTDLGW {
257 // #ifdef UNICODE | 539 DWORD lStructSize = PRINTDLGW.sizeof;
258 alias OPENFILENAMEW OPENFILENAME; | 540 HWND hwndOwner;
259 alias LPOPENFILENAMEW LPOPENFILENAME; | 541 HANDLE hDevMode;
260 // #else | 542 HANDLE hDevNames;
261 // ... | 543 HDC hDC;
262 // #endif // UNICODE | 544 DWORD Flags;
263 <
> 545 WORD nFromPage;
264 // #if (_WIN32_WINNT >= 0x0500) | 546 WORD nToPage;
265 // #define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTempla | 547 WORD nMinPage;
266 // #define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTempla | 548 WORD nMaxPage;
267 // #ifdef UNICODE | 549 WORD nCopies;
268 // #define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400W | 550 HINSTANCE hInstance;
269 // #else | 551 DWORD lCustData;
270 // #... | 552 LPPRINTHOOKPROC lpfnPrintHook;
271 // #endif // !UNICODE | 553 LPSETUPHOOKPROC lpfnSetupHook;
272 // #endif // (_WIN32_WINNT >= 0x0500) | 554 LPCWSTR lpPrintTemplateName;
273 <
> 555 LPCWSTR lpSetupTemplateName;
274 extern(Windows) export BOOL GetOpenFileNameA(LPOPENFILENAMEA); | 556 HANDLE hPrintTemplate;
275 extern(Windows) export BOOL GetOpenFileNameW(LPOPENFILENAMEW); | 557 HANDLE hSetupTemplate;
276 // #ifdef UNICODE <
277 alias GetOpenFileNameW GetOpenFileName; <
278 // #else <
279 // #... <
280 // #endif // !UNICODE <
281 extern(Windows) export BOOL GetSaveFileNameA(LPOPENFILENAMEA); <
282 extern(Windows) export BOOL GetSaveFileNameW(LPOPENFILENAMEW); <
283 // #ifdef UNICODE <
284 alias GetSaveFileNameW GetSaveFileName; <
285 // #else <
286 // #... <
287 // #endif // !UNICODE <
288 <
289 extern(Windows) export short GetFileTitleA(LPCSTR, LPSTR, WORD); <
290 extern(Windows) export short GetFileTitleW(LPCWSTR, LPWSTR, WORD); <
291 // #ifdef UNICODE <
292 alias GetFileTitleW GetFileTitle; <
293 // #else <
294 // #... <
295 // #endif // !UNICODE <
296 <
297 enum : uint { OFN_READONLY = 0x00000001 } <
298 enum : uint { OFN_OVERWRITEPROMPT = 0x00000002 } <
299 enum : uint { OFN_HIDEREADONLY = 0x00000004 } <
300 enum : uint { OFN_NOCHANGEDIR = 0x00000008 } <
301 enum : uint { OFN_SHOWHELP = 0x00000010 } <
302 enum : uint { OFN_ENABLEHOOK = 0x00000020 } <
303 enum : uint { OFN_ENABLETEMPLATE = 0x00000040 } <
304 enum : uint { OFN_ENABLETEMPLATEHANDLE = 0x00000080 } <
305 enum : uint { OFN_NOVALIDATE = 0x00000100 } <
306 enum : uint { OFN_ALLOWMULTISELECT = 0x00000200 } <
307 enum : uint { OFN_EXTENSIONDIFFERENT = 0x00000400 } <
308 enum : uint { OFN_PATHMUSTEXIST = 0x00000800 } <
309 enum : uint { OFN_FILEMUSTEXIST = 0x00001000 } <
310 enum : uint { OFN_CREATEPROMPT = 0x00002000 } <
311 enum : uint { OFN_SHAREAWARE = 0x00004000 } <
312 enum : uint { OFN_NOREADONLYRETURN = 0x00008000 } <
313 enum : uint { OFN_NOTESTFILECREATE = 0x00010000 } <
314 enum : uint { OFN_NONETWORKBUTTON = 0x00020000 } <
315 enum : uint { OFN_NOLONGNAMES = 0x00040000 } <
316 // #if(WINVER >= 0x0400) <
317 enum : uint { OFN_EXPLORER = 0x00080000 } <
318 enum : uint { OFN_NODEREFERENCELINKS = 0x00100000 } <
319 enum : uint { OFN_LONGNAMES = 0x00200000 } <
320 enum : uint { OFN_ENABLEINCLUDENOTIFY = 0x00400000 } <
321 enum : uint { OFN_ENABLESIZING = 0x00800000 } <
322 // #endif /* WINVER >= 0x0400 */ <
323 // #if (_WIN32_WINNT >= 0x0500) <
324 enum : uint { OFN_DONTADDTORECENT = 0x02000000 } <
325 enum : uint { OFN_FORCESHOWHIDDEN = 0x10000000 } <
326 // #endif // (_WIN32_WINNT >= 0x0500) <
327 <
328 // #if (_WIN32_WINNT >= 0x0500) <
329 enum : uint { OFN_EX_NOPLACESBAR = 0x00000001 } <
330 // #endif // (_WIN32_WINNT >= 0x0500) <
331 <
332 enum : uint { OFN_SHAREFALLTHROUGH = 2 } <
333 enum : uint { OFN_SHARENOWARN = 1 } <
334 enum : uint { OFN_SHAREWARN = 0 } <
335 <
336 extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPCCHOOKPROC <
337 <
338 // #if(WINVER >= 0x0400) <
339 <
340 struct _OFNOTIFYA { <
341 NMHDR hdr; <
342 LPOPENFILENAMEA lpOFN; <
343 LPSTR pszFile; <
344 } 558 }
345 alias _OFNOTIFYA OFNOTIFYA; | 559 alias PRINTDLGW* LPPRINTDLGW;
346 alias _OFNOTIFYA* LPOFNOTIFYA; <
347 | 560
> 561 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
348 struct _OFNOTIFYW { | 562 import win32.unknwn; // for LPUNKNOWN
349 NMHDR hdr; | 563 import win32.prsht; // for HPROPSHEETPAGE
350 LPOPENFILENAMEW lpOFN; <
351 LPWSTR pszFile; <
352 } | 564
> 565 struct PRINTPAGERANGE {
> 566 DWORD nFromPage;
353 alias _OFNOTIFYW OFNOTIFYW; | 567 DWORD nToPage;
354 alias _OFNOTIFYW* LPOFNOTIFYW; <
355 | 568 }
356 // #ifdef UNICODE <
357 alias OFNOTIFYW OFNOTIFY; <
358 alias LPOFNOTIFYW LPOFNOTIFY; <
359 // #else <
360 // ... <
361 // #endif // UNICODE <
> 569 alias PRINTPAGERANGE* LPPRINTPAGERANGE;
362 | 570
363 struct _OFNOTIFYEXA { | 571 struct PRINTDLGEXA {
> 572 DWORD lStructSize = PRINTDLGEXA.sizeof;
> 573 HWND hwndOwner;
> 574 HGLOBAL hDevMode;
> 575 HGLOBAL hDevNames;
> 576 HDC hDC;
> 577 DWORD Flags;
364 NMHDR hdr; | 578 DWORD Flags2;
365 LPOPENFILENAMEA lpOFN; | 579 DWORD ExclusionFlags;
366 LPVOID psf; | 580 DWORD nPageRanges;
367 LPVOID pidl; | 581 DWORD nMaxPageRanges;
> 582 LPPRINTPAGERANGE lpPageRanges;
> 583 DWORD nMinPage;
> 584 DWORD nMaxPage;
> 585 DWORD nCopies;
> 586 HINSTANCE hInstance;
> 587 LPCSTR lpPrintTemplateName;
> 588 LPUNKNOWN lpCallback;
> 589 DWORD nPropertyPages;
> 590 HPROPSHEETPAGE* lphPropertyPages;
> 591 DWORD nStartPage;
> 592 DWORD dwResultAction;
368 } | 593 }
369 alias _OFNOTIFYEXA OFNOTIFYEXA; <
370 alias _OFNOTIFYEXA* LPOFNOTIFYEXA; <
> 594 alias PRINTDLGEXA* LPPRINTDLGEXA;
> 595
> 596 struct PRINTDLGEXW {
> 597 DWORD lStructSize = PRINTDLGEXW.sizeof;
> 598 HWND hwndOwner;
> 599 HGLOBAL hDevMode;
> 600 HGLOBAL hDevNames;
> 601 HDC hDC;
> 602 DWORD Flags;
> 603 DWORD Flags2;
> 604 DWORD ExclusionFlags;
> 605 DWORD nPageRanges;
> 606 DWORD nMaxPageRanges;
> 607 LPPRINTPAGERANGE lpPageRanges;
> 608 DWORD nMinPage;
> 609 DWORD nMaxPage;
> 610 DWORD nCopies;
> 611 HINSTANCE hInstance;
> 612 LPCWSTR lpPrintTemplateName;
> 613 LPUNKNOWN lpCallback;
> 614 DWORD nPropertyPages;
> 615 HPROPSHEETPAGE* lphPropertyPages;
> 616 DWORD nStartPage;
> 617 DWORD dwResultAction;
> 618 }
> 619 alias PRINTDLGEXW* LPPRINTDLGEXW;
371 620
372 struct _OFNOTIFYEXW { | 621 } // _WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500
373 NMHDR hdr; <
374 LPOPENFILENAMEW lpOFN; <
375 LPVOID psf; <
376 LPVOID pidl; <
377 } <
378 alias _OFNOTIFYEXW OFNOTIFYEXW; <
379 alias _OFNOTIFYEXW* LPOFNOTIFYEXW; <
380 <
381 // #ifdef UNICODE <
382 alias OFNOTIFYEXW OFNOTIFYEX; <
383 alias LPOFNOTIFYEXW LPOFNOTIFYEX; <
384 // #else <
385 // ... <
386 // #endif // UNICODE <
387 622
388 const uint CDN_FIRST = 0U-601U; | 623 extern (Windows) {
389 const uint CDN_LAST = 0U-699U; | 624 BOOL ChooseColorA(LPCHOOSECOLORA);
390 <
> 625 BOOL ChooseColorW(LPCHOOSECOLORW);
391 const uint CDN_INITDONE = CDN_FIRST - 0x0000; | 626 BOOL ChooseFontA(LPCHOOSEFONTA);
392 const uint CDN_SELCHANGE = CDN_FIRST - 0x0001; | 627 BOOL ChooseFontW(LPCHOOSEFONTW);
393 const uint CDN_FOLDERCHANGE = CDN_FIRST - 0x0002; | 628 DWORD CommDlgExtendedError();
394 const uint CDN_SHAREVIOLATION = CDN_FIRST - 0x0003; | 629 HWND FindTextA(LPFINDREPLACEA);
395 const uint CDN_HELP = CDN_FIRST - 0x0004; | 630 HWND FindTextW(LPFINDREPLACEW);
396 const uint CDN_FILEOK = CDN_FIRST - 0x0005; | 631 short GetFileTitleA(LPCSTR, LPSTR, WORD);
397 const uint CDN_TYPECHANGE = CDN_FIRST - 0x0006; | 632 short GetFileTitleW(LPCWSTR, LPWSTR, WORD);
398 const uint CDN_INCLUDEITEM = CDN_FIRST - 0x0007; | 633 BOOL GetOpenFileNameA(LPOPENFILENAMEA);
399 <
> 634 BOOL GetOpenFileNameW(LPOPENFILENAMEW);
400 const uint CDM_FIRST = WM_USER + 100; | 635 BOOL GetSaveFileNameA(LPOPENFILENAMEA);
401 const uint CDM_LAST = WM_USER + 200; | 636 BOOL GetSaveFileNameW(LPOPENFILENAMEW);
402 <
> 637 BOOL PageSetupDlgA(LPPAGESETUPDLGA);
403 const uint CDM_GETSPEC = CDM_FIRST + 0x0000; | 638 BOOL PageSetupDlgW(LPPAGESETUPDLGW);
404 // #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM | 639 BOOL PrintDlgA(LPPRINTDLGA);
405 // #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM | 640 BOOL PrintDlgW(LPPRINTDLGW);
406 // #ifdef UNICODE | 641 HWND ReplaceTextA(LPFINDREPLACEA);
407 // #define CommDlg_OpenSave_GetSpec CommDlg_OpenSave_GetSpecW | 642 HWND ReplaceTextW(LPFINDREPLACEW);
408 // #else <
409 // #... <
410 // #endif // !UNICODE <
411 <
412 const uint CDM_GETFILEPATH = CDM_FIRST + 0x0001; <
413 // #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, <
414 // #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, <
415 // #ifdef UNICODE <
416 // #define CommDlg_OpenSave_GetFilePath CommDlg_OpenSave_GetFilePathW <
417 // #else <
418 // #... <
419 // #endif // !UNICODE <
420 <
421 const uint CDM_GETFOLDERPATH = CDM_FIRST + 0x0002; <
422 // #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdl <
423 // #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdl <
424 // #ifdef UNICODE <
425 // #define CommDlg_OpenSave_GetFolderPath CommDlg_OpenSave_GetFolderPathW <
426 // #else <
427 // #... <
428 // #endif // !UNICODE <
429 643
430 const uint CDM_GETFOLDERIDLIST = CDM_FIRST + 0x0003; | 644 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
431 // #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) (int)SNDMSG(_h | 645 HRESULT PrintDlgExA(LPPRINTDLGEXA);
> 646 HRESULT PrintDlgExW(LPPRINTDLGEXW);
432 | 647 }
433 const uint CDM_SETCONTROLTEXT = CDM_FIRST + 0x0004; <
434 // #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) (void)SNDMSG(_hdlg <
435 <
436 const uint CDM_HIDECONTROL = CDM_FIRST + 0x0005; <
437 // #define CommDlg_OpenSave_HideControl(_hdlg, _id) (void)SNDMSG(_hdlg, CDM_HIDE <
438 <
439 const uint CDM_SETDEFEXT = CDM_FIRST + 0x0006; <
440 // #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) (void)SNDMSG(_hdlg, CDM_SE <
441 // #endif /* WINVER >= 0x0400 */ <
442 <
443 // #ifndef _MAC <
444 struct tagCHOOSECOLORA { <
445 DWORD lStructSize; <
446 HWND hwndOwner; <
447 HWND hInstance; <
448 COLORREF rgbResult; <
449 COLORREF * lpCustColors; <
450 DWORD Flags; <
451 LPARAM lCustData; <
452 LPCCHOOKPROC lpfnHook; <
453 LPCSTR lpTemplateName; <
454 } <
455 alias tagCHOOSECOLORA CHOOSECOLORA; <
456 alias tagCHOOSECOLORA* LPCHOOSECOLORA; <
457 <
458 struct tagCHOOSECOLORW { <
459 DWORD lStructSize; <
460 HWND hwndOwner; <
461 HWND hInstance; <
462 COLORREF rgbResult; <
463 COLORREF * lpCustColors; <
464 DWORD Flags; <
465 LPARAM lCustData; <
466 LPCCHOOKPROC lpfnHook; <
467 LPCWSTR lpTemplateName; <
468 } <
469 alias tagCHOOSECOLORW CHOOSECOLORW; <
470 alias tagCHOOSECOLORW* LPCHOOSECOLORW; <
471 <
472 // #ifdef UNICODE <
473 alias CHOOSECOLORW CHOOSECOLOR; <
474 alias LPCHOOSECOLORW LPCHOOSECOLOR; <
475 // #else <
476 // ... <
477 // #endif // UNICODE <
478 // #else <
479 // ... <
480 // #ifdef UNICODE <
481 // ... <
482 // #else <
483 // ... <
484 // #endif // UNICODE <
485 // #endif //_MAC <
486 <
487 extern(Windows) export BOOL ChooseColorA(LPCHOOSECOLORA); <
488 extern(Windows) export BOOL ChooseColorW(LPCHOOSECOLORW); <
489 // #ifdef UNICODE <
490 alias ChooseColorW ChooseColor; <
491 // #else <
492 // #... <
493 // #endif // !UNICODE <
494 <
495 enum : uint { CC_RGBINIT = 0x00000001 } <
496 enum : uint { CC_FULLOPEN = 0x00000002 } <
497 enum : uint { CC_PREVENTFULLOPEN = 0x00000004 } <
498 enum : uint { CC_SHOWHELP = 0x00000008 } <
499 enum : uint { CC_ENABLEHOOK = 0x00000010 } <
500 enum : uint { CC_ENABLETEMPLATE = 0x00000020 } <
501 enum : uint { CC_ENABLETEMPLATEHANDLE = 0x00000040 } <
502 // #if(WINVER >= 0x0400) <
503 enum : uint { CC_SOLIDCOLOR = 0x00000080 } <
504 enum : uint { CC_ANYCOLOR = 0x00000100 } <
505 // #endif /* WINVER >= 0x0400 */ <
506 <
507 extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPFRHOOKPROC <
508 <
509 struct tagFINDREPLACEA { <
510 DWORD lStructSize; <
511 HWND hwndOwner; <
512 HINSTANCE hInstance; <
513 <
514 DWORD Flags; <
515 LPSTR lpstrFindWhat; <
516 LPSTR lpstrReplaceWith; <
517 WORD wFindWhatLen; <
518 WORD wReplaceWithLen; <
519 LPARAM lCustData; <
520 LPFRHOOKPROC lpfnHook; <
521 LPCSTR lpTemplateName; <
522 } <
523 alias tagFINDREPLACEA FINDREPLACEA; <
524 alias tagFINDREPLACEA* LPFINDREPLACEA; <
525 <
526 struct tagFINDREPLACEW { <
527 DWORD lStructSize; <
528 HWND hwndOwner; <
529 HINSTANCE hInstance; <
530 <
531 DWORD Flags; <
532 LPWSTR lpstrFindWhat; <
533 LPWSTR lpstrReplaceWith; <
534 WORD wFindWhatLen; <
535 WORD wReplaceWithLen; <
536 LPARAM lCustData; <
537 LPFRHOOKPROC lpfnHook; <
538 LPCWSTR lpTemplateName; <
539 } <
540 alias tagFINDREPLACEW FINDREPLACEW; <
541 alias tagFINDREPLACEW* LPFINDREPLACEW; <
542 <
543 // #ifdef UNICODE <
544 alias FINDREPLACEW FINDREPLACE; <
545 alias LPFINDREPLACEW LPFINDREPLACE; <
546 // #else <
547 // ... <
548 // #endif // UNICODE <
549 <
550 enum : uint { FR_DOWN = 0x00000001 } <
551 enum : uint { FR_WHOLEWORD = 0x00000002 } <
552 enum : uint { FR_MATCHCASE = 0x00000004 } <
553 enum : uint { FR_FINDNEXT = 0x00000008 } <
554 enum : uint { FR_REPLACE = 0x00000010 } <
555 enum : uint { FR_REPLACEALL = 0x00000020 } <
556 enum : uint { FR_DIALOGTERM = 0x00000040 } <
557 enum : uint { FR_SHOWHELP = 0x00000080 } <
558 enum : uint { FR_ENABLEHOOK = 0x00000100 } <
559 enum : uint { FR_ENABLETEMPLATE = 0x00000200 } <
560 enum : uint { FR_NOUPDOWN = 0x00000400 } <
561 enum : uint { FR_NOMATCHCASE = 0x00000800 } <
562 enum : uint { FR_NOWHOLEWORD = 0x00001000 } <
563 enum : uint { FR_ENABLETEMPLATEHANDLE = 0x00002000 } <
564 enum : uint { FR_HIDEUPDOWN = 0x00004000 } <
565 enum : uint { FR_HIDEMATCHCASE = 0x00008000 } <
566 enum : uint { FR_HIDEWHOLEWORD = 0x00010000 } <
567 enum : uint { FR_RAW = 0x00020000 } <
568 enum : uint { FR_MATCHDIAC = 0x20000000 } <
569 enum : uint { FR_MATCHKASHIDA = 0x40000000 } <
570 enum : uint { FR_MATCHALEFHAMZA = 0x80000000 } <
571 <
572 extern(Windows) export HWND FindTextA(LPFINDREPLACEA); <
573 extern(Windows) export HWND FindTextW(LPFINDREPLACEW); <
574 // #ifdef UNICODE <
575 alias FindTextW FindText; <
576 // #else <
577 // #... <
578 // #endif // !UNICODE <
579 // #ifndef _MAC <
580 extern(Windows) export HWND ReplaceTextA(LPFINDREPLACEA); <
581 extern(Windows) export HWND ReplaceTextW(LPFINDREPLACEW); <
582 // #ifdef UNICODE <
583 alias ReplaceTextW ReplaceText; <
584 // #else <
585 // #... <
586 // #endif // !UNICODE <
587 // #else <
588 // ... <
589 // #ifdef UNICODE <
590 // #... <
591 // #else <
592 // #... <
593 // #endif // !UNICODE <
594 // #endif <
595 <
596 extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPCFHOOKPROC <
597 <
598 struct tagCHOOSEFONTA { <
599 DWORD lStructSize; <
600 HWND hwndOwner; <
601 HDC hDC; <
602 LPLOGFONTA lpLogFont; <
603 INT iPointSize; <
604 DWORD Flags; <
605 COLORREF rgbColors; <
606 LPARAM lCustData; <
607 LPCFHOOKPROC lpfnHook; <
608 LPCSTR lpTemplateName; <
609 HINSTANCE hInstance; <
610 <
611 LPSTR lpszStyle; <
612 <
613 WORD nFontType; <
614 <
615 WORD ___MISSING_ALIGNMENT__; <
616 INT nSizeMin; <
617 INT nSizeMax; <
618 <
619 } <
620 alias tagCHOOSEFONTA CHOOSEFONTA; <
621 alias tagCHOOSEFONTA* LPCHOOSEFONTA; <
622 <
623 struct tagCHOOSEFONTW { <
624 DWORD lStructSize; <
625 HWND hwndOwner; <
626 HDC hDC; <
627 LPLOGFONTW lpLogFont; <
628 INT iPointSize; <
629 DWORD Flags; <
630 COLORREF rgbColors; <
631 LPARAM lCustData; <
632 LPCFHOOKPROC lpfnHook; <
633 LPCWSTR lpTemplateName; <
634 HINSTANCE hInstance; <
635 <
636 LPWSTR lpszStyle; <
637 <
638 WORD nFontType; <
639 <
640 WORD ___MISSING_ALIGNMENT__; <
641 INT nSizeMin; <
642 INT nSizeMax; <
643 <
644 } 648 }
> 649
> 650 version (Unicode) {
> 651 alias CHOOSECOLORW CHOOSECOLOR;
645 alias tagCHOOSEFONTW CHOOSEFONTW; | 652 alias CHOOSEFONTW CHOOSEFONT;
646 alias tagCHOOSEFONTW* LPCHOOSEFONTW; <
> 653 alias FINDREPLACEW FINDREPLACE;
> 654 alias OPENFILENAMEW OPENFILENAME;
> 655 alias OFNOTIFYW OFNOTIFY;
> 656 alias PAGESETUPDLGW PAGESETUPDLG;
> 657 alias PRINTDLGW PRINTDLG;
> 658
> 659 alias ChooseColorW ChooseColor;
> 660 alias ChooseFontW ChooseFont;
> 661 alias FindTextW FindText;
> 662 alias GetFileTitleW GetFileTitle;
> 663 alias GetOpenFileNameW GetOpenFileName;
> 664 alias GetSaveFileNameW GetSaveFileName;
> 665 alias PageSetupDlgW PageSetupDlg;
> 666 alias PrintDlgW PrintDlg;
> 667 alias ReplaceTextW ReplaceText;
> 668
> 669 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
> 670 alias PRINTDLGEXW PRINTDLGEX;
> 671 alias PrintDlgExW PrintDlgEx;
> 672 }
> 673
> 674 } else { // UNICODE
647 675
648 // #ifdef UNICODE | 676 alias CHOOSECOLORA CHOOSECOLOR;
649 alias CHOOSEFONTW CHOOSEFONT; | 677 alias CHOOSEFONTA CHOOSEFONT;
650 alias LPCHOOSEFONTW LPCHOOSEFONT; | 678 alias FINDREPLACEA FINDREPLACE;
651 // #else | 679 alias OPENFILENAMEA OPENFILENAME;
652 // ... | 680 alias OFNOTIFYA OFNOTIFY;
653 // #endif // UNICODE | 681 alias PAGESETUPDLGA PAGESETUPDLG;
> 682 alias PRINTDLGA PRINTDLG;
654 683
655 extern(Windows) export BOOL ChooseFontA(LPCHOOSEFONTA); | 684 alias ChooseColorA ChooseColor;
656 extern(Windows) export BOOL ChooseFontW(LPCHOOSEFONTW); <
657 // #ifdef UNICODE <
658 alias ChooseFontW ChooseFont; | 685 alias ChooseFontA ChooseFont;
> 686 alias FindTextA FindText;
> 687 alias GetFileTitleA GetFileTitle;
659 // #else | 688 alias GetOpenFileNameA GetOpenFileName;
660 // #... | 689 alias GetSaveFileNameA GetSaveFileName;
661 // #endif // !UNICODE | 690 alias PageSetupDlgA PageSetupDlg;
> 691 alias PrintDlgA PrintDlg;
> 692 alias ReplaceTextA ReplaceText;
662 693
663 enum : uint { CF_SCREENFONTS = 0x00000001 } | 694 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
664 enum : uint { CF_PRINTERFONTS = 0x00000002 } | 695 alias PRINTDLGEXA PRINTDLGEX;
665 const uint CF_BOTH = CF_SCREENFONTS | CF_PRINTERFONTS; | 696 alias PrintDlgExA PrintDlgEx;
666 enum : uint { CF_SHOWHELP = 0x00000004 } <
667 enum : uint { CF_ENABLEHOOK = 0x00000008 } <
668 enum : uint { CF_ENABLETEMPLATE = 0x00000010 } <
669 enum : uint { CF_ENABLETEMPLATEHANDLE = 0x00000020 } <
670 enum : uint { CF_INITTOLOGFONTSTRUCT = 0x00000040 } <
671 enum : uint { CF_USESTYLE = 0x00000080 } <
672 enum : uint { CF_EFFECTS = 0x00000100 } <
673 enum : uint { CF_APPLY = 0x00000200 } <
674 enum : uint { CF_ANSIONLY = 0x00000400 } <
675 // #if(WINVER >= 0x0400) <
676 alias CF_ANSIONLY CF_SCRIPTSONLY; <
677 // #endif /* WINVER >= 0x0400 */ <
678 enum : uint { CF_NOVECTORFONTS = 0x00000800 } <
679 alias CF_NOVECTORFONTS CF_NOOEMFONTS; <
680 enum : uint { CF_NOSIMULATIONS = 0x00001000 } <
681 enum : uint { CF_LIMITSIZE = 0x00002000 } <
682 enum : uint { CF_FIXEDPITCHONLY = 0x00004000 } <
683 enum : uint { CF_WYSIWYG = 0x00008000 } <
684 enum : uint { CF_FORCEFONTEXIST = 0x00010000 } <
685 enum : uint { CF_SCALABLEONLY = 0x00020000 } <
686 enum : uint { CF_TTONLY = 0x00040000 } <
687 enum : uint { CF_NOFACESEL = 0x00080000 } <
688 enum : uint { CF_NOSTYLESEL = 0x00100000 } <
689 enum : uint { CF_NOSIZESEL = 0x00200000 } <
690 // #if(WINVER >= 0x0400) <
691 enum : uint { CF_SELECTSCRIPT = 0x00400000 } <
692 enum : uint { CF_NOSCRIPTSEL = 0x00800000 } <
693 enum : uint { CF_NOVERTFONTS = 0x01000000 } <
694 // #endif /* WINVER >= 0x0400 */ <
> 697 }
695 698
696 enum : uint { SIMULATED_FONTTYPE = 0x8000 } | 699 } // UNICODE
697 enum : uint { PRINTER_FONTTYPE = 0x4000 } <
698 enum : uint { SCREEN_FONTTYPE = 0x2000 } <
699 enum : uint { BOLD_FONTTYPE = 0x0100 } <
700 enum : uint { ITALIC_FONTTYPE = 0x0200 } <
701 enum : uint { REGULAR_FONTTYPE = 0x0400 } <
702 700
703 // #ifdef WINNT | 701 alias CHOOSECOLOR* LPCHOOSECOLOR;
704 // #... | 702 alias CHOOSEFONT* LPCHOOSEFONT;
705 // #... | 703 alias FINDREPLACE* LPFINDREPLACE;
706 // #... | 704 alias OPENFILENAME* LPOPENFILENAME;
707 // #endif | 705 alias OFNOTIFY* LPOFNOTIFY;
708 <
709 const uint WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1; <
710 const uint WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101; <
711 const uint WM_CHOOSEFONT_SETFLAGS = WM_USER + 102; <
712 <
713 const char[] LBSELCHSTRINGA = "commdlg_LBSelChangedNotify"; <
714 const char[] SHAREVISTRINGA = "commdlg_ShareViolation"; <
715 const char[] FILEOKSTRINGA = "commdlg_FileNameOK"; <
716 const char[] COLOROKSTRINGA = "commdlg_ColorOK"; <
717 const char[] SETRGBSTRINGA = "commdlg_SetRGBColor"; <
718 const char[] HELPMSGSTRINGA = "commdlg_help"; <
719 const char[] FINDMSGSTRINGA = "commdlg_FindReplace"; <
720 <
721 const wchar[] LBSELCHSTRINGW = "commdlg_LBSelChangedNotify"; <
722 const wchar[] SHAREVISTRINGW = "commdlg_ShareViolation"; <
723 const wchar[] FILEOKSTRINGW = "commdlg_FileNameOK"; <
724 const wchar[] COLOROKSTRINGW = "commdlg_ColorOK"; <
725 const wchar[] SETRGBSTRINGW = "commdlg_SetRGBColor"; <
726 const wchar[] HELPMSGSTRINGW = "commdlg_help"; <
727 const wchar[] FINDMSGSTRINGW = "commdlg_FindReplace"; <
728 <
729 // #ifdef UNICODE <
730 alias LBSELCHSTRINGW LBSELCHSTRING; <
731 alias SHAREVISTRINGW SHAREVISTRING; <
732 alias FILEOKSTRINGW FILEOKSTRING; <
733 alias COLOROKSTRINGW COLOROKSTRING; <
734 alias SETRGBSTRINGW SETRGBSTRING; <
735 alias HELPMSGSTRINGW HELPMSGSTRING; <
736 alias FINDMSGSTRINGW FINDMSGSTRING; <
737 // #else <
738 // #... <
739 // #... <
740 // #... <
741 // #... <
742 // #... <
743 // #... <
744 // #... <
745 // #endif <
746 <
747 enum { CD_LBSELNOITEMS = -1 } <
748 enum : uint { CD_LBSELCHANGE = 0 } <
749 enum : uint { CD_LBSELSUB = 1 } <
750 enum : uint { CD_LBSELADD = 2 } <
751 <
752 extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPPRINTHOOKP <
753 extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPSETUPHOOKP <
754 <
755 struct tagPDA { <
756 DWORD lStructSize; <
757 HWND hwndOwner; <
758 HGLOBAL hDevMode; <
759 HGLOBAL hDevNames; <
760 HDC hDC; <
761 DWORD Flags; <
762 WORD nFromPage; <
763 WORD nToPage; <
764 WORD nMinPage; <
765 WORD nMaxPage; <
766 WORD nCopies; <
767 HINSTANCE hInstance; <
768 LPARAM lCustData; <
769 LPPRINTHOOKPROC lpfnPrintHook; <
770 LPSETUPHOOKPROC lpfnSetupHook; <
771 LPCSTR lpPrintTemplateName; <
772 LPCSTR lpSetupTemplateName; <
773 HGLOBAL hPrintTemplate; <
774 HGLOBAL hSetupTemplate; <
775 } <
776 alias tagPDA PRINTDLGA; <
> 706 alias PAGESETUPDLG* LPPAGESETUPDLG;
777 alias tagPDA* LPPRINTDLGA; | 707 alias PRINTDLG* LPPRINTDLG;
778 <
779 struct tagPDW { <
780 DWORD lStructSize; <
781 HWND hwndOwner; <
782 HGLOBAL hDevMode; <
783 HGLOBAL hDevNames; <
784 HDC hDC; <
785 DWORD Flags; <
786 WORD nFromPage; <
787 WORD nToPage; <
788 WORD nMinPage; <
789 WORD nMaxPage; <
790 WORD nCopies; <
791 HINSTANCE hInstance; <
792 LPARAM lCustData; <
793 LPPRINTHOOKPROC lpfnPrintHook; <
794 LPSETUPHOOKPROC lpfnSetupHook; <
795 LPCWSTR lpPrintTemplateName; <
796 LPCWSTR lpSetupTemplateName; <
797 HGLOBAL hPrintTemplate; <
798 HGLOBAL hSetupTemplate; <
799 } <
800 alias tagPDW PRINTDLGW; <
801 alias tagPDW* LPPRINTDLGW; <
802 <
803 // #ifdef UNICODE <
> 708 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
804 alias PRINTDLGW PRINTDLG; | 709 alias PRINTDLGEX* LPPRINTDLGEX;
805 alias LPPRINTDLGW LPPRINTDLG; <
806 // #else <
807 // ... <
808 // #endif // UNICODE <
809 | 710 }
810 extern(Windows) export BOOL PrintDlgA(LPPRINTDLGA); <
811 extern(Windows) export BOOL PrintDlgW(LPPRINTDLGW); <
812 // #ifdef UNICODE <
813 alias PrintDlgW PrintDlg; <
814 // #else <
815 // #... <
816 // #endif // !UNICODE <
817 <
818 // #if(WINVER >= 0x0500) <
819 <
820 // #ifdef STDMETHOD <
821 <
822 // #... <
823 // #... <
824 <
825 // ... <
826 <
827 // ... <
828 <
829 // #... <
830 // #... <
831 <
832 // ... <
833 <
834 // ... <
835 <
836 // ... <
837 <
838 // ... <
839 // #ifdef UNICODE <
840 // ... <
841 // #else <
842 // ... <
843 // #endif // UNICODE <
844 <
845 // ... <
846 // #ifdef UNICODE <
847 // #... <
848 // #else <
849 // #... <
850 // #endif // !UNICODE <
851 <
852 // #endif <
853 <
854 // #endif /* WINVER >= 0x0500 */ <
855 <
856 enum : uint { PD_ALLPAGES = 0x00000000 } <
857 enum : uint { PD_SELECTION = 0x00000001 } <
858 enum : uint { PD_PAGENUMS = 0x00000002 } <
859 enum : uint { PD_NOSELECTION = 0x00000004 } <
860 enum : uint { PD_NOPAGENUMS = 0x00000008 } <
861 enum : uint { PD_COLLATE = 0x00000010 } <
862 enum : uint { PD_PRINTTOFILE = 0x00000020 } <
863 enum : uint { PD_PRINTSETUP = 0x00000040 } <
864 enum : uint { PD_NOWARNING = 0x00000080 } <
865 enum : uint { PD_RETURNDC = 0x00000100 } <
866 enum : uint { PD_RETURNIC = 0x00000200 } <
867 enum : uint { PD_RETURNDEFAULT = 0x00000400 } <
868 enum : uint { PD_SHOWHELP = 0x00000800 } <
869 enum : uint { PD_ENABLEPRINTHOOK = 0x00001000 } <
870 enum : uint { PD_ENABLESETUPHOOK = 0x00002000 } <
871 enum : uint { PD_ENABLEPRINTTEMPLATE = 0x00004000 } <
872 enum : uint { PD_ENABLESETUPTEMPLATE = 0x00008000 } <
873 enum : uint { PD_ENABLEPRINTTEMPLATEHANDLE = 0x00010000 } <
874 enum : uint { PD_ENABLESETUPTEMPLATEHANDLE = 0x00020000 } <
875 enum : uint { PD_USEDEVMODECOPIES = 0x00040000 } <
876 enum : uint { PD_USEDEVMODECOPIESANDCOLLATE = 0x00040000 } <
877 enum : uint { PD_DISABLEPRINTTOFILE = 0x00080000 } <
878 enum : uint { PD_HIDEPRINTTOFILE = 0x00100000 } <
879 enum : uint { PD_NONETWORKBUTTON = 0x00200000 } <
880 // #if(WINVER >= 0x0500) <
881 enum : uint { PD_CURRENTPAGE = 0x00400000 } <
882 enum : uint { PD_NOCURRENTPAGE = 0x00800000 } <
883 enum : uint { PD_EXCLUSIONFLAGS = 0x01000000 } <
884 enum : uint { PD_USELARGETEMPLATE = 0x10000000 } <
885 // #endif /* WINVER >= 0x0500 */ <
886 <
887 // #if(WINVER >= 0x0500) <
888 <
889 const uint PD_EXCL_COPIESANDCOLLATE = DM_COPIES | DM_COLLATE; <
890 <
891 enum : uint { START_PAGE_GENERAL = 0xffffffff } <
892 <
893 enum : uint { PD_RESULT_CANCEL = 0 } <
894 enum : uint { PD_RESULT_PRINT = 1 } <
895 enum : uint { PD_RESULT_APPLY = 2 } <
896 <
897 // #endif /* WINVER >= 0x0500 */ <
898 <
899 struct tagDEVNAMES { <
900 WORD wDriverOffset; <
901 WORD wDeviceOffset; <
902 WORD wOutputOffset; <
903 WORD wDefault; <
904 } <
905 alias tagDEVNAMES DEVNAMES; <
906 alias tagDEVNAMES* LPDEVNAMES; <
907 <
908 enum : uint { DN_DEFAULTPRN = 0x0001 } <
909 <
910 extern(Windows) export DWORD CommDlgExtendedError(); <
911 <
912 // #if(WINVER >= 0x0400) <
913 const uint WM_PSD_PAGESETUPDLG = WM_USER ; <
914 const uint WM_PSD_FULLPAGERECT = WM_USER+1; <
915 const uint WM_PSD_MINMARGINRECT = WM_USER+2; <
916 const uint WM_PSD_MARGINRECT = WM_USER+3; <
917 const uint WM_PSD_GREEKTEXTRECT = WM_USER+4; <
918 const uint WM_PSD_ENVSTAMPRECT = WM_USER+5; <
919 const uint WM_PSD_YAFULLPAGERECT = WM_USER+6; <
920 <
921 extern(Windows) alias UINT_PTR function( HWND, UINT, WPARAM, LPARAM ) LPPAGEPAIN <
922 extern(Windows) alias UINT_PTR function( HWND, UINT, WPARAM, LPARAM ) LPPAGESETU <
923 <
924 struct tagPSDA { <
925 DWORD lStructSize; <
926 HWND hwndOwner; <
927 HGLOBAL hDevMode; <
928 HGLOBAL hDevNames; <
929 DWORD Flags; <
930 POINT ptPaperSize; <
931 RECT rtMinMargin; <
932 RECT rtMargin; <
933 HINSTANCE hInstance; <
934 LPARAM lCustData; <
935 LPPAGESETUPHOOK lpfnPageSetupHook; <
936 LPPAGEPAINTHOOK lpfnPagePaintHook; <
937 LPCSTR lpPageSetupTemplateName; <
938 HGLOBAL hPageSetupTemplate; <
939 } <
940 alias tagPSDA PAGESETUPDLGA; <
941 alias tagPSDA* LPPAGESETUPDLGA; <
942 <
943 struct tagPSDW { <
944 DWORD lStructSize; <
945 HWND hwndOwner; <
946 HGLOBAL hDevMode; <
947 HGLOBAL hDevNames; <
948 DWORD Flags; <
949 POINT ptPaperSize; <
950 RECT rtMinMargin; <
951 RECT rtMargin; <
952 HINSTANCE hInstance; <
953 LPARAM lCustData; <
954 LPPAGESETUPHOOK lpfnPageSetupHook; <
955 LPPAGEPAINTHOOK lpfnPagePaintHook; <
956 LPCWSTR lpPageSetupTemplateName; <
957 HGLOBAL hPageSetupTemplate; <
958 } <
959 alias tagPSDW PAGESETUPDLGW; <
960 alias tagPSDW* LPPAGESETUPDLGW; <
961 <
962 // #ifdef UNICODE <
963 alias PAGESETUPDLGW PAGESETUPDLG; <
964 alias LPPAGESETUPDLGW LPPAGESETUPDLG; <
965 // #else <
966 // ... <
967 // #endif // UNICODE <
968 <
969 extern(Windows) export BOOL PageSetupDlgA( LPPAGESETUPDLGA ); <
970 extern(Windows) export BOOL PageSetupDlgW( LPPAGESETUPDLGW ); <
971 // #ifdef UNICODE <
972 alias PageSetupDlgW PageSetupDlg; <
973 // #else <
974 // #... <
975 // #endif // !UNICODE <
976 <
977 enum : uint { PSD_DEFAULTMINMARGINS = 0x00000000 } <
978 enum : uint { PSD_INWININIINTLMEASURE = 0x00000000 } <
979 <
980 enum : uint { PSD_MINMARGINS = 0x00000001 } <
981 enum : uint { PSD_MARGINS = 0x00000002 } <
982 enum : uint { PSD_INTHOUSANDTHSOFINCHES = 0x00000004 } <
983 enum : uint { PSD_INHUNDREDTHSOFMILLIMETERS = 0x00000008 } <
984 enum : uint { PSD_DISABLEMARGINS = 0x00000010 } <
985 enum : uint { PSD_DISABLEPRINTER = 0x00000020 } <
986 enum : uint { PSD_NOWARNING = 0x00000080 } <
987 enum : uint { PSD_DISABLEORIENTATION = 0x00000100 } <
988 enum : uint { PSD_RETURNDEFAULT = 0x00000400 } <
989 enum : uint { PSD_DISABLEPAPER = 0x00000200 } <
990 enum : uint { PSD_SHOWHELP = 0x00000800 } <
991 enum : uint { PSD_ENABLEPAGESETUPHOOK = 0x00002000 } <
992 enum : uint { PSD_ENABLEPAGESETUPTEMPLATE = 0x00008000 } <
993 enum : uint { PSD_ENABLEPAGESETUPTEMPLATEHANDLE = 0x00020000 } <
994 enum : uint { PSD_ENABLEPAGEPAINTHOOK = 0x00040000 } <
995 enum : uint { PSD_DISABLEPAGEPAINTING = 0x00080000 } <
996 enum : uint { PSD_NONETWORKBUTTON = 0x00200000 } <
997 // #endif /* WINVER >= 0x0400 */ <
998 <
999 // #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ <
1000 // #if ISOLATION_AWARE_ENABLED <
1001 <
1002 // #if !defined(ISOLATION_AWARE_INLINE) <
1003 // #if defined(__cplusplus) <
1004 // #... <
1005 // #else <
1006 // #... <
1007 // #endif <
1008 // #endif <
1009 <
1010 // ... <
1011 <
1012 // ... <
1013 // #if defined(STDMETHOD) && (WINVER >= 0x0500) <
1014 // ... <
1015 // #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */ <
1016 // ... <
1017 <
1018 // #if defined(UNICODE) <
1019 <
1020 // #... <
1021 // #... <
1022 // #... <
1023 // #... <
1024 // #... <
1025 // #... <
1026 // #... <
1027 // #... <
1028 // #... <
1029 // #... <
1030 <
1031 // #else /* UNICODE */ <
1032 <
1033 // #... <
1034 // #... <
1035 // #... <
1036 // #... <
1037 // #... <
1038 // #... <
1039 // #... <
1040 // #... <
1041 // #... <
1042 // #... <
1043 <
1044 // #endif /* UNICODE */ <
1045 <
1046 // ... <
1047 <
1048 // ... <
1049 <
1050 // ... <
1051 <
1052 // ... <
1053 <
1054 // ... <
1055 <
1056 // ... <
1057 <
1058 // ... <
1059 <
1060 // ... <
1061 <
1062 // ... <
1063 <
1064 // ... <
1065 <
1066 // ... <
1067 <
1068 // ... <
1069 <
1070 // ... <
1071 <
1072 // ... <
1073 <
1074 // ... <
1075 <
1076 // ... <
1077 <
1078 // #if defined(STDMETHOD) && (WINVER >= 0x0500) <
1079 <
1080 // ... <
1081 <
1082 // ... <
1083 <
1084 // ... <
1085 <
1086 // ... <
1087 <
1088 // #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */ <
1089 <
1090 // ... <
1091 <
1092 // ... <
1093 <
1094 // ... <
1095 <
1096 // ... <
1097 <
1098 // #... <
1099 // #... <
1100 // #... <
1101 // #... <
1102 // #... <
1103 // #... <
1104 // #... <
1105 // #... <
1106 // #... <
1107 // #... <
1108 // #... <
1109 // #... <
1110 // #... <
1111 // #... <
1112 // #... <
1113 // #... <
1114 // #... <
1115 // #... <
1116 // #... <
1117 // #... <
1118 // #... <
1119 <
1120 // #endif /* ISOLATION_AWARE_ENABLED */ <
1121 // #endif /* RC */ <
1122 <
1123 // #ifdef __cplusplus <
1124 // } <
1125 // #endif /* __cplusplus */ <
1126 <
1127 // #if !defined(_WIN64) <
1128 align: <
1129 // #endif <
1130 // #endif /* GUID_DEFS_ONLY */ <
1131 // #endif /* !_INC_COMMDLG */ <
1132 <