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 10 module win32.commdlg; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winuser; 8 -// inline #include <cderr.h> 9 -// ---- 10 - 11 -// #ifndef _INC_CDERR 12 -// #define _INC_CDERR 13 - 14 -// #if _MSC_VER > 1000 15 -// #pragma once 16 -// #endif 17 - 18 -enum : uint { CDERR_DIALOGFAILURE = 0xFFFF } 19 - 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 } 30 -enum : uint { CDERR_MEMLOCKFAILURE = 0x000A } 31 -enum : uint { CDERR_NOHOOK = 0x000B } 32 -enum : uint { CDERR_REGISTERMSGFAIL = 0x000C } 33 - 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 } 41 -enum : uint { PDERR_NODEVICES = 0x1007 } 42 -enum : uint { PDERR_NODEFAULTPRN = 0x1008 } 43 -enum : uint { PDERR_DNDMMISMATCH = 0x1009 } 44 -enum : uint { PDERR_CREATEICFAILURE = 0x100A } 45 -enum : uint { PDERR_PRINTERNOTFOUND = 0x100B } 46 -enum : uint { PDERR_DEFAULTDIFFERENT = 0x100C } 47 - 48 -enum : uint { CFERR_CHOOSEFONTCODES = 0x2000 } 49 -enum : uint { CFERR_NOFONTS = 0x2001 } 50 -enum : uint { CFERR_MAXLESSTHANMIN = 0x2002 } 51 - 52 -enum : uint { FNERR_FILENAMECODES = 0x3000 } 53 -enum : uint { FNERR_SUBCLASSFAILURE = 0x3001 } 54 -enum : uint { FNERR_INVALIDFILENAME = 0x3002 } 55 -enum : uint { FNERR_BUFFERTOOSMALL = 0x3003 } 56 - 57 -enum : uint { FRERR_FINDREPLACECODES = 0x4000 } 58 -enum : uint { FRERR_BUFFERLENGTHZERO = 0x4001 } 59 - 60 -enum : uint { CCERR_CHOOSECOLORCODES = 0x5000 } 61 - 62 -// #endif /* !_INC_CDERR */ 63 -// ---- 64 - 65 -// #ifndef _INC_COMMDLG 66 -// #define _INC_COMMDLG 67 - 68 -// #if(WINVER >= 0x0500) 69 - 70 -// #ifdef DEFINE_GUID 71 - 72 -// ... 73 - 74 -// ... 75 - 76 -// #endif 77 - 78 -// #endif /* WINVER >= 0x0500 */ 79 - 80 -// #ifndef GUID_DEFS_ONLY 81 - 82 -// #include <prsht.h> 83 - 84 -// #if !defined(_WIN64) 85 -align(1): 86 -// #endif 87 - 88 -// #ifdef __cplusplus 89 -// extern "C" { /* Assume C declarations for C++ */ 90 -// #endif /* __cplusplus */ 91 - 92 -// #ifndef WINCOMMDLGAPI 93 -// #if !defined(_COMDLG32_) 94 -// #define WINCOMMDLGAPI DECLSPEC_IMPORT 95 -// #else 96 -// #... 97 -// #endif 98 -// #endif // WINCOMMDLGAPI 99 - 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 */ 117 - 118 -// #ifdef _MAC 119 -// ... 120 -// #endif 121 - 122 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPOFNHOOKPROC; 123 - 124 -// #ifndef CDSIZEOF_STRUCT 125 -// #define CDSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) 126 -// #endif 127 - 128 -// #ifndef DUMMYUNIONNAME 129 -// #ifdef NONAMELESSUNION 130 -// #... 131 -// #endif // NONAMELESSUNION 132 -// #endif // DUMMYUNIONNAME 133 - 134 -struct tagOFN_NT4A { 135 - DWORD lStructSize; 136 - HWND hwndOwner; 137 - HINSTANCE hInstance; 138 - LPCSTR lpstrFilter; 139 - LPSTR lpstrCustomFilter; 140 - DWORD nMaxCustFilter; 141 - DWORD nFilterIndex; 142 - LPSTR lpstrFile; 143 - DWORD nMaxFile; 144 - LPSTR lpstrFileTitle; 145 - DWORD nMaxFileTitle; 146 - LPCSTR lpstrInitialDir; 147 - LPCSTR lpstrTitle; 148 - DWORD Flags; 149 - WORD nFileOffset; 150 - WORD nFileExtension; 151 - LPCSTR lpstrDefExt; 152 - LPARAM lCustData; 153 - LPOFNHOOKPROC lpfnHook; 154 - LPCSTR lpTemplateName; 11 +pragma(lib, "comdlg32.lib"); 12 + 13 +private import win32.w32api; 14 +import win32.windef, win32.winuser; 15 +import win32.wingdi; // for LPLOGFONTA 16 + 17 +const TCHAR[] 18 + LBSELCHSTRING = "commdlg_LBSelChangedNotify", 19 + SHAREVISTRING = "commdlg_ShareViolation", 20 + FILEOKSTRING = "commdlg_FileNameOK", 21 + COLOROKSTRING = "commdlg_ColorOK", 22 + SETRGBSTRING = "commdlg_SetRGBColor", 23 + HELPMSGSTRING = "commdlg_help", 24 + FINDMSGSTRING = "commdlg_FindReplace"; 25 + 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 36 +} 37 + 38 +enum : UINT { 39 + CDM_FIRST = WM_USER + 100, 40 + CDM_LAST = WM_USER + 200, 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 48 +} 49 + 50 +// flags for ChooseColor 51 +enum : DWORD { 52 + CC_RGBINIT = 0x0001, 53 + CC_FULLOPEN = 0x0002, 54 + CC_PREVENTFULLOPEN = 0x0004, 55 + CC_SHOWHELP = 0x0008, 56 + CC_ENABLEHOOK = 0x0010, 57 + CC_ENABLETEMPLATE = 0x0020, 58 + CC_ENABLETEMPLATEHANDLE = 0x0040, 59 + CC_SOLIDCOLOR = 0x0080, 60 + CC_ANYCOLOR = 0x0100 61 +} 62 + 63 +// flags for ChooseFont 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 93 +} 94 + 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 103 +} 104 + 105 +enum : UINT { 106 + WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1, 107 + WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101, 108 + WM_CHOOSEFONT_SETFLAGS = WM_USER + 102 109 +} 110 + 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 139 +} 140 + 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 162 +} 163 + 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 189 +} 190 + 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, 197 + } 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 messages 250 +// the controls. These seem to be totally unnecessary -- and at least one of MinGW or 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 wParam) { 262 + return SendMessage(hWndControl, CDM_GETFOLDERPATH, wParam, lParam); 263 +} 264 + 265 +int CommDlg_OpenSave_GetFolderIDList(HWND hWndControl, LPARAM lparam, WPARAM wParam) { 266 + return SendMessage(hWndControl, CDM_GETFOLDERIDLIST, wParam, lParam); 267 +} 268 + 269 +void CommDlg_OpenSave_SetControlText(HWND hWndControl, LPARAM lparam, WPARAM wParam) { 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)lParam); 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 + 297 +align (1): 298 + 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; 309 +} 310 +alias CHOOSECOLORA* LPCHOOSECOLORA; 311 + 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; 322 +} 323 +alias CHOOSECOLORW* LPCHOOSECOLORW; 324 + 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; 342 +} 343 +alias CHOOSEFONTA* LPCHOOSEFONTA; 344 + 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; 362 +} 363 +alias CHOOSEFONTW* LPCHOOSEFONTW; 364 + 365 +struct DEVNAMES { 366 + WORD wDriverOffset; 367 + WORD wDeviceOffset; 368 + WORD wOutputOffset; 369 + WORD wDefault; 370 +} 371 +alias DEVNAMES* LPDEVNAMES; 372 + 373 +struct FINDREPLACEA { 374 + DWORD lStructSize = FINDREPLACEA.sizeof; 375 + HWND hwndOwner; 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; 407 + LPCSTR lpstrFilter; 408 + LPSTR lpstrCustomFilter; 409 + DWORD nMaxCustFilter; 410 + DWORD nFilterIndex; 411 + LPSTR lpstrFile; 412 + DWORD nMaxFile; 413 + LPSTR lpstrFileTitle; 414 + DWORD nMaxFileTitle; 415 + LPCSTR lpstrInitialDir; 416 + LPCSTR lpstrTitle; 417 + DWORD Flags; 418 + WORD nFileOffset; 419 + WORD nFileExtension; 420 + LPCSTR lpstrDefExt; 421 + DWORD lCustData; 422 + LPOFNHOOKPROC lpfnHook; 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; 157 -alias tagOFN_NT4A* LPOPENFILENAME_NT4A; 158 - 159 -struct tagOFN_NT4W { 160 - DWORD lStructSize; 161 - HWND hwndOwner; 162 - HINSTANCE hInstance; 163 - LPCWSTR lpstrFilter; 164 - LPWSTR lpstrCustomFilter; 165 - DWORD nMaxCustFilter; 166 - DWORD nFilterIndex; 167 - LPWSTR lpstrFile; 168 - DWORD nMaxFile; 169 - LPWSTR lpstrFileTitle; 170 - DWORD nMaxFileTitle; 171 - LPCWSTR lpstrInitialDir; 172 - LPCWSTR lpstrTitle; 173 - DWORD Flags; 174 - WORD nFileOffset; 175 - WORD nFileExtension; 176 - LPCWSTR lpstrDefExt; 177 - LPARAM lCustData; 178 - LPOFNHOOKPROC lpfnHook; 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; 211 - LPCSTR lpTemplateName; 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; 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) 513 +alias PAGESETUPDLGW* LPPAGESETUPDLGW; 514 + 515 +struct PRINTDLGA { 516 + DWORD lStructSize = PRINTDLGA.sizeof; 517 + HWND hwndOwner; 518 + HANDLE hDevMode; 519 + HANDLE hDevNames; 520 + HDC hDC; 521 + DWORD Flags; 522 + WORD nFromPage; 523 + WORD nToPage; 524 + WORD nMinPage; 525 + WORD nMaxPage; 526 + WORD nCopies; 527 + HINSTANCE hInstance; 528 + DWORD lCustData; 529 + LPPRINTHOOKPROC lpfnPrintHook; 530 + LPSETUPHOOKPROC lpfnSetupHook; 531 + LPCSTR lpPrintTemplateName; 532 + LPCSTR lpSetupTemplateName; 533 + HANDLE hPrintTemplate; 534 + HANDLE hSetupTemplate; 253 535 } 254 -alias tagOFNW OPENFILENAMEW; 255 -alias tagOFNW* LPOPENFILENAMEW; 256 - 257 -// #ifdef UNICODE 258 -alias OPENFILENAMEW OPENFILENAME; 259 -alias LPOPENFILENAMEW LPOPENFILENAME; 260 -// #else 261 -// ... 262 -// #endif // UNICODE 263 - 264 -// #if (_WIN32_WINNT >= 0x0500) 265 -// #define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName) 266 -// #define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName) 267 -// #ifdef UNICODE 268 -// #define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400W 269 -// #else 270 -// #... 271 -// #endif // !UNICODE 272 -// #endif // (_WIN32_WINNT >= 0x0500) 273 - 274 -extern(Windows) export BOOL GetOpenFileNameA(LPOPENFILENAMEA); 275 -extern(Windows) export BOOL GetOpenFileNameW(LPOPENFILENAMEW); 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; 536 +alias PRINTDLGA* LPPRINTDLGA; 537 + 538 +struct PRINTDLGW { 539 + DWORD lStructSize = PRINTDLGW.sizeof; 540 + HWND hwndOwner; 541 + HANDLE hDevMode; 542 + HANDLE hDevNames; 543 + HDC hDC; 544 + DWORD Flags; 545 + WORD nFromPage; 546 + WORD nToPage; 547 + WORD nMinPage; 548 + WORD nMaxPage; 549 + WORD nCopies; 550 + HINSTANCE hInstance; 551 + DWORD lCustData; 552 + LPPRINTHOOKPROC lpfnPrintHook; 553 + LPSETUPHOOKPROC lpfnSetupHook; 554 + LPCWSTR lpPrintTemplateName; 555 + LPCWSTR lpSetupTemplateName; 556 + HANDLE hPrintTemplate; 557 + HANDLE hSetupTemplate; 344 558 } 345 -alias _OFNOTIFYA OFNOTIFYA; 346 -alias _OFNOTIFYA* LPOFNOTIFYA; 347 - 348 -struct _OFNOTIFYW { 349 - NMHDR hdr; 350 - LPOPENFILENAMEW lpOFN; 351 - LPWSTR pszFile; 352 -} 353 -alias _OFNOTIFYW OFNOTIFYW; 354 -alias _OFNOTIFYW* LPOFNOTIFYW; 355 - 356 -// #ifdef UNICODE 357 -alias OFNOTIFYW OFNOTIFY; 358 -alias LPOFNOTIFYW LPOFNOTIFY; 359 -// #else 360 -// ... 361 -// #endif // UNICODE 362 - 363 -struct _OFNOTIFYEXA { 364 - NMHDR hdr; 365 - LPOPENFILENAMEA lpOFN; 366 - LPVOID psf; 367 - LPVOID pidl; 368 -} 369 -alias _OFNOTIFYEXA OFNOTIFYEXA; 370 -alias _OFNOTIFYEXA* LPOFNOTIFYEXA; 559 +alias PRINTDLGW* LPPRINTDLGW; 560 + 561 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 562 + import win32.unknwn; // for LPUNKNOWN 563 + import win32.prsht; // for HPROPSHEETPAGE 564 + 565 + struct PRINTPAGERANGE { 566 + DWORD nFromPage; 567 + DWORD nToPage; 568 + } 569 + alias PRINTPAGERANGE* LPPRINTPAGERANGE; 570 + 571 + struct PRINTDLGEXA { 572 + DWORD lStructSize = PRINTDLGEXA.sizeof; 573 + HWND hwndOwner; 574 + HGLOBAL hDevMode; 575 + HGLOBAL hDevNames; 576 + HDC hDC; 577 + DWORD Flags; 578 + DWORD Flags2; 579 + DWORD ExclusionFlags; 580 + DWORD nPageRanges; 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; 593 + } 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 { 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 621 +} // _WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500 387 622 388 -const uint CDN_FIRST = 0U-601U; 389 -const uint CDN_LAST = 0U-699U; 390 - 391 -const uint CDN_INITDONE = CDN_FIRST - 0x0000; 392 -const uint CDN_SELCHANGE = CDN_FIRST - 0x0001; 393 -const uint CDN_FOLDERCHANGE = CDN_FIRST - 0x0002; 394 -const uint CDN_SHAREVIOLATION = CDN_FIRST - 0x0003; 395 -const uint CDN_HELP = CDN_FIRST - 0x0004; 396 -const uint CDN_FILEOK = CDN_FIRST - 0x0005; 397 -const uint CDN_TYPECHANGE = CDN_FIRST - 0x0006; 398 -const uint CDN_INCLUDEITEM = CDN_FIRST - 0x0007; 399 - 400 -const uint CDM_FIRST = WM_USER + 100; 401 -const uint CDM_LAST = WM_USER + 200; 402 - 403 -const uint CDM_GETSPEC = CDM_FIRST + 0x0000; 404 -// #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 405 -// #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 406 -// #ifdef UNICODE 407 -// #define CommDlg_OpenSave_GetSpec CommDlg_OpenSave_GetSpecW 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, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 414 -// #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 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(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 423 -// #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 424 -// #ifdef UNICODE 425 -// #define CommDlg_OpenSave_GetFolderPath CommDlg_OpenSave_GetFolderPathW 426 -// #else 427 -// #... 428 -// #endif // !UNICODE 623 +extern (Windows) { 624 + BOOL ChooseColorA(LPCHOOSECOLORA); 625 + BOOL ChooseColorW(LPCHOOSECOLORW); 626 + BOOL ChooseFontA(LPCHOOSEFONTA); 627 + BOOL ChooseFontW(LPCHOOSEFONTW); 628 + DWORD CommDlgExtendedError(); 629 + HWND FindTextA(LPFINDREPLACEA); 630 + HWND FindTextW(LPFINDREPLACEW); 631 + short GetFileTitleA(LPCSTR, LPSTR, WORD); 632 + short GetFileTitleW(LPCWSTR, LPWSTR, WORD); 633 + BOOL GetOpenFileNameA(LPOPENFILENAMEA); 634 + BOOL GetOpenFileNameW(LPOPENFILENAMEW); 635 + BOOL GetSaveFileNameA(LPOPENFILENAMEA); 636 + BOOL GetSaveFileNameW(LPOPENFILENAMEW); 637 + BOOL PageSetupDlgA(LPPAGESETUPDLGA); 638 + BOOL PageSetupDlgW(LPPAGESETUPDLGW); 639 + BOOL PrintDlgA(LPPRINTDLGA); 640 + BOOL PrintDlgW(LPPRINTDLGW); 641 + HWND ReplaceTextA(LPFINDREPLACEA); 642 + HWND ReplaceTextW(LPFINDREPLACEW); 429 643 430 -const uint CDM_GETFOLDERIDLIST = CDM_FIRST + 0x0003; 431 -// #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl) 432 - 433 -const uint CDM_SETCONTROLTEXT = CDM_FIRST + 0x0004; 434 -// #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text) 435 - 436 -const uint CDM_HIDECONTROL = CDM_FIRST + 0x0005; 437 -// #define CommDlg_OpenSave_HideControl(_hdlg, _id) (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0) 438 - 439 -const uint CDM_SETDEFEXT = CDM_FIRST + 0x0006; 440 -// #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext) 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 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 645 + HRESULT PrintDlgExA(LPPRINTDLGEXA); 646 + HRESULT PrintDlgExW(LPPRINTDLGEXW); 647 + } 644 648 } 645 -alias tagCHOOSEFONTW CHOOSEFONTW; 646 -alias tagCHOOSEFONTW* LPCHOOSEFONTW; 649 + 650 +version (Unicode) { 651 + alias CHOOSECOLORW CHOOSECOLOR; 652 + alias CHOOSEFONTW CHOOSEFONT; 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 649 -alias CHOOSEFONTW CHOOSEFONT; 650 -alias LPCHOOSEFONTW LPCHOOSEFONT; 651 -// #else 652 -// ... 653 -// #endif // UNICODE 676 + alias CHOOSECOLORA CHOOSECOLOR; 677 + alias CHOOSEFONTA CHOOSEFONT; 678 + alias FINDREPLACEA FINDREPLACE; 679 + alias OPENFILENAMEA OPENFILENAME; 680 + alias OFNOTIFYA OFNOTIFY; 681 + alias PAGESETUPDLGA PAGESETUPDLG; 682 + alias PRINTDLGA PRINTDLG; 654 683 655 -extern(Windows) export BOOL ChooseFontA(LPCHOOSEFONTA); 656 -extern(Windows) export BOOL ChooseFontW(LPCHOOSEFONTW); 657 -// #ifdef UNICODE 658 -alias ChooseFontW ChooseFont; 659 -// #else 660 -// #... 661 -// #endif // !UNICODE 684 + alias ChooseColorA ChooseColor; 685 + alias ChooseFontA ChooseFont; 686 + alias FindTextA FindText; 687 + alias GetFileTitleA GetFileTitle; 688 + alias GetOpenFileNameA GetOpenFileName; 689 + alias GetSaveFileNameA GetSaveFileName; 690 + alias PageSetupDlgA PageSetupDlg; 691 + alias PrintDlgA PrintDlg; 692 + alias ReplaceTextA ReplaceText; 662 693 663 -enum : uint { CF_SCREENFONTS = 0x00000001 } 664 -enum : uint { CF_PRINTERFONTS = 0x00000002 } 665 -const uint CF_BOTH = CF_SCREENFONTS | CF_PRINTERFONTS; 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 */ 694 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 695 + alias PRINTDLGEXA PRINTDLGEX; 696 + alias PrintDlgExA PrintDlgEx; 697 + } 695 698 696 -enum : uint { SIMULATED_FONTTYPE = 0x8000 } 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 } 699 +} // UNICODE 702 700 703 -// #ifdef WINNT 704 -// #... 705 -// #... 706 -// #... 707 -// #endif 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) LPPRINTHOOKPROC; 753 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPSETUPHOOKPROC; 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; 777 -alias tagPDA* LPPRINTDLGA; 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 804 -alias PRINTDLGW PRINTDLG; 805 -alias LPPRINTDLGW LPPRINTDLG; 806 -// #else 807 -// ... 808 -// #endif // UNICODE 809 - 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 ) LPPAGEPAINTHOOK; 922 -extern(Windows) alias UINT_PTR function( HWND, UINT, WPARAM, LPARAM ) LPPAGESETUPHOOK; 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 - 701 +alias CHOOSECOLOR* LPCHOOSECOLOR; 702 +alias CHOOSEFONT* LPCHOOSEFONT; 703 +alias FINDREPLACE* LPFINDREPLACE; 704 +alias OPENFILENAME* LPOPENFILENAME; 705 +alias OFNOTIFY* LPOFNOTIFY; 706 +alias PAGESETUPDLG* LPPAGESETUPDLG; 707 +alias PRINTDLG* LPPRINTDLG; 708 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 709 + alias PRINTDLGEX* LPPRINTDLGEX; 710 +}