Diff

Not logged in

Differences From Artifact [6d620068807bb293]:

To Artifact [dce8014c88d4101f]:


> 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 <