Changeset 317 for trunk/win32/commdlg.d
- Timestamp:
- 11/06/08 13:12:13 (4 years ago)
- Files:
-
- trunk/win32/commdlg.d (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/win32/commdlg.d
r155 r317 4 4 * Windows API header module * 5 5 * * 6 * Translated from MinGW Windows headers*6 * Translated from MinGW API for MS-Windows 3.12 * 7 7 * * 8 8 * Placed into public domain * … … 15 15 import win32.wingdi; // for LPLOGFONTA 16 16 17 const TCHAR []17 const TCHAR[] 18 18 LBSELCHSTRING = "commdlg_LBSelChangedNotify", 19 19 SHAREVISTRING = "commdlg_ShareViolation", … … 24 24 FINDMSGSTRING = "commdlg_FindReplace"; 25 25 26 const UINT 26 enum : UINT { 27 27 CDN_FIRST = -601, // also in commctrl.h 28 28 CDN_LAST = -699, 29 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 const CDM_FIRST = WM_USER+100; 38 const CDM_LAST = WM_USER+200; 39 const CDM_GETSPEC = CDM_FIRST; 40 const CDM_GETFILEPATH = CDM_FIRST+1; 41 const CDM_GETFOLDERPATH = CDM_FIRST+2; 42 const CDM_GETFOLDERIDLIST = CDM_FIRST+3; 43 const CDM_SETCONTROLTEXT = CDM_FIRST+4; 44 const CDM_HIDECONTROL = CDM_FIRST+5; 45 const CDM_SETDEFEXT = CDM_FIRST+6; 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 } 46 49 47 50 // flags for ChooseColor 48 51 enum : DWORD { 49 CC_RGBINIT = 1,50 CC_FULLOPEN = 2,51 CC_PREVENTFULLOPEN = 4,52 CC_SHOWHELP = 8,53 CC_ENABLEHOOK = 16,54 CC_ENABLETEMPLATE = 32,55 CC_ENABLETEMPLATEHANDLE = 64,56 CC_SOLIDCOLOR = 128,57 CC_ANYCOLOR = 25652 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 58 61 } 59 62 60 63 // flags for ChooseFont 61 64 enum : DWORD { 62 CF_SCREENFONTS = 1,63 CF_PRINTERFONTS = 2,64 CF_BOTH = 3,65 CF_SHOWHELP = 4,66 CF_ENABLEHOOK = 8,67 CF_ENABLETEMPLATE = 16,68 CF_ENABLETEMPLATEHANDLE = 32,69 CF_INITTOLOGFONTSTRUCT = 64,70 CF_USESTYLE = 128,71 CF_EFFECTS = 256,72 CF_APPLY = 512,73 CF_ANSIONLY = 1024,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, 74 77 CF_SCRIPTSONLY = CF_ANSIONLY, 75 CF_NOVECTORFONTS = 2048,76 CF_NOOEMFONTS = 2048,77 CF_NOSIMULATIONS = 4096,78 CF_LIMITSIZE = 8192,79 CF_FIXEDPITCHONLY = 16384,80 CF_WYSIWYG = 32768,81 CF_FORCEFONTEXIST = 65536,82 CF_SCALABLEONLY = 131072,83 CF_TTONLY = 262144,84 CF_NOFACESEL = 524288,85 CF_NOSTYLESEL = 1048576,86 CF_NOSIZESEL = 2097152,87 CF_SELECTSCRIPT = 4194304,88 CF_NOSCRIPTSEL = 8388608,89 CF_NOVERTFONTS = 0x 100000078 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 90 93 } 91 94 92 95 // Font type for ChooseFont 93 96 enum : WORD { 94 BOLD_FONTTYPE = 0x 100,95 ITALIC_FONTTYPE = 0x 200,96 REGULAR_FONTTYPE = 0x 400,97 BOLD_FONTTYPE = 0x0100, 98 ITALIC_FONTTYPE = 0x0200, 99 REGULAR_FONTTYPE = 0x0400, 97 100 SCREEN_FONTTYPE = 0x2000, 98 101 PRINTER_FONTTYPE = 0x4000, … … 100 103 } 101 104 102 const WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1; 103 const WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101; 104 const WM_CHOOSEFONT_SETFLAGS = WM_USER + 102; 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 } 105 110 106 111 // flags for OpenFileName 107 112 enum : DWORD { 108 OFN_ALLOWMULTISELECT = 512, 109 OFN_CREATEPROMPT = 0x2000, 110 OFN_ENABLEHOOK = 32, 111 OFN_ENABLESIZING = 0x800000, 112 OFN_ENABLETEMPLATE = 64, 113 OFN_ENABLETEMPLATEHANDLE = 128, 114 OFN_EXPLORER = 0x80000, 115 OFN_EXTENSIONDIFFERENT = 0x400, 116 OFN_FILEMUSTEXIST = 0x1000, 117 OFN_HIDEREADONLY = 4, 118 OFN_LONGNAMES = 0x200000, 119 OFN_NOCHANGEDIR = 8, 120 OFN_NODEREFERENCELINKS = 0x100000, 121 OFN_NOLONGNAMES = 0x40000, 122 OFN_NONETWORKBUTTON = 0x20000, 123 OFN_NOREADONLYRETURN = 0x8000, 124 OFN_NOTESTFILECREATE = 0x10000, 125 OFN_NOVALIDATE = 256, 126 OFN_OVERWRITEPROMPT = 2, 127 OFN_PATHMUSTEXIST = 0x800, 128 OFN_READONLY = 1, 129 OFN_SHAREAWARE = 0x4000, 130 OFN_SHOWHELP = 16, 131 OFN_SHAREFALLTHROUGH = 2, 132 OFN_SHARENOWARN = 1, 133 OFN_SHAREWARN = 0, 134 } 135 136 const FR_DIALOGTERM=64; 137 const FR_DOWN=1; 138 const FR_ENABLEHOOK=256; 139 const FR_ENABLETEMPLATE=512; 140 const FR_ENABLETEMPLATEHANDLE=0x2000; 141 const FR_FINDNEXT=8; 142 const FR_HIDEUPDOWN=0x4000; 143 const FR_HIDEMATCHCASE=0x8000; 144 const FR_HIDEWHOLEWORD=0x10000; 145 const FR_MATCHALEFHAMZA=0x80000000; 146 const FR_MATCHCASE=4; 147 const FR_MATCHDIAC=0x20000000; 148 const FR_MATCHKASHIDA=0x40000000; 149 const FR_NOMATCHCASE=0x800; 150 const FR_NOUPDOWN=0x400; 151 const FR_NOWHOLEWORD=4096; 152 const FR_REPLACE=16; 153 const FR_REPLACEALL=32; 154 const FR_SHOWHELP=128; 155 const FR_WHOLEWORD=2; 156 157 const PD_ALLPAGES=0; 158 const PD_SELECTION=1; 159 const PD_PAGENUMS=2; 160 const PD_NOSELECTION=4; 161 const PD_NOPAGENUMS=8; 162 const PD_COLLATE=16; 163 const PD_PRINTTOFILE=32; 164 const PD_PRINTSETUP=64; 165 const PD_NOWARNING=128; 166 const PD_RETURNDC=256; 167 const PD_RETURNIC=512; 168 const PD_RETURNDEFAULT=1024; 169 const PD_SHOWHELP=2048; 170 const PD_ENABLEPRINTHOOK=4096; 171 const PD_ENABLESETUPHOOK=8192; 172 const PD_ENABLEPRINTTEMPLATE=16384; 173 const PD_ENABLESETUPTEMPLATE=32768; 174 const PD_ENABLEPRINTTEMPLATEHANDLE=65536; 175 const PD_ENABLESETUPTEMPLATEHANDLE=0x20000; 176 const PD_USEDEVMODECOPIES=0x40000; 177 const PD_USEDEVMODECOPIESANDCOLLATE=0x40000; 178 const PD_DISABLEPRINTTOFILE=0x80000; 179 const PD_HIDEPRINTTOFILE=0x100000; 180 const PD_NONETWORKBUTTON=0x200000; 181 182 const PSD_DEFAULTMINMARGINS=0; 183 const PSD_INWININIINTLMEASURE=0; 184 const PSD_MINMARGINS=1; 185 const PSD_MARGINS=2; 186 const PSD_INTHOUSANDTHSOFINCHES=4; 187 const PSD_INHUNDREDTHSOFMILLIMETERS=8; 188 const PSD_DISABLEMARGINS=16; 189 const PSD_DISABLEPRINTER=32; 190 const PSD_NOWARNING=128; 191 const PSD_DISABLEORIENTATION=256; 192 const PSD_DISABLEPAPER=512; 193 const PSD_RETURNDEFAULT=1024; 194 const PSD_SHOWHELP=2048; 195 const PSD_ENABLEPAGESETUPHOOK=8192; 196 const PSD_ENABLEPAGESETUPTEMPLATE=0x8000; 197 const PSD_ENABLEPAGESETUPTEMPLATEHANDLE=0x20000; 198 const PSD_ENABLEPAGEPAINTHOOK=0x40000; 199 const PSD_DISABLEPAGEPAINTING=0x80000; 200 201 const WM_PSD_PAGESETUPDLG = WM_USER; 202 const WM_PSD_FULLPAGERECT = WM_USER+1; 203 const WM_PSD_MINMARGINRECT = WM_USER+2; 204 const WM_PSD_MARGINRECT = WM_USER+3; 205 const WM_PSD_GREEKTEXTRECT = WM_USER+4; 206 const WM_PSD_ENVSTAMPRECT = WM_USER+5; 207 const WM_PSD_YAFULLPAGERECT = WM_USER+6; 208 209 const CD_LBSELNOITEMS = -1; 210 const CD_LBSELCHANGE = 0; 211 const CD_LBSELSUB = 1; 212 const CD_LBSELADD = 2; 213 214 const DN_DEFAULTPRN=1; 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; 215 247 216 248 /+ … … 258 290 // Callbacks. 259 291 extern(Windows) { 260 alias UINT function (HWND, UINT,WPARAM,LPARAM)292 alias UINT function (HWND, UINT, WPARAM, LPARAM) 261 293 LPCCHOOKPROC, LPCFHOOKPROC, LPFRHOOKPROC, LPOFNHOOKPROC, 262 294 LPPAGEPAINTHOOK, LPPAGESETUPHOOK, LPSETUPHOOKPROC, LPPRINTHOOKPROC; … … 266 298 267 299 struct CHOOSECOLORA { 268 DWORD lStructSize ;300 DWORD lStructSize = CHOOSECOLORA.sizeof; 269 301 HWND hwndOwner; 270 302 HWND hInstance; … … 279 311 280 312 struct CHOOSECOLORW { 281 DWORD lStructSize ;313 DWORD lStructSize = CHOOSECOLORW.sizeof; 282 314 HWND hwndOwner; 283 315 HWND hInstance; … … 291 323 alias CHOOSECOLORW* LPCHOOSECOLORW; 292 324 293 struct CHOOSEFONTA {294 DWORD lStructSize ;325 align (4) struct CHOOSEFONTA { 326 DWORD lStructSize = CHOOSEFONTA.sizeof; 295 327 HWND hwndOwner; 296 328 HDC hDC; … … 305 337 LPSTR lpszStyle; 306 338 WORD nFontType; 307 WORD ___MISSING_ALIGNMENT__;339 //WORD ___MISSING_ALIGNMENT__; 308 340 INT nSizeMin; 309 341 INT nSizeMax; … … 311 343 alias CHOOSEFONTA* LPCHOOSEFONTA; 312 344 313 struct CHOOSEFONTW {314 DWORD lStructSize ;345 align (4) struct CHOOSEFONTW { 346 DWORD lStructSize = CHOOSEFONTW.sizeof; 315 347 HWND hwndOwner; 316 348 HDC hDC; … … 325 357 LPWSTR lpszStyle; 326 358 WORD nFontType; 327 WORD ___MISSING_ALIGNMENT__;359 //WORD ___MISSING_ALIGNMENT__; 328 360 INT nSizeMin; 329 361 INT nSizeMax; … … 340 372 341 373 struct FINDREPLACEA { 342 DWORD lStructSize;343 HWND hwndOwner;344 HINSTANCE hInstance;345 DWORD Flags;346 LPSTR lpstrFindWhat;347 LPSTR lpstrReplaceWith;348 WORD wFindWhatLen;349 WORD wReplaceWithLen;350 LPARAM lCustData;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; 351 383 LPFRHOOKPROC lpfnHook; 352 LPCSTR lpTemplateName;384 LPCSTR lpTemplateName; 353 385 } 354 386 alias FINDREPLACEA* LPFINDREPLACEA; 355 387 356 388 struct FINDREPLACEW { 357 DWORD lStructSize;358 HWND hwndOwner;359 HINSTANCE hInstance;360 DWORD Flags;361 LPWSTR lpstrFindWhat;362 LPWSTR lpstrReplaceWith;363 WORD wFindWhatLen;364 WORD wReplaceWithLen;365 LPARAM lCustData;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; 366 398 LPFRHOOKPROC lpfnHook; 367 LPCWSTR lpTemplateName;399 LPCWSTR lpTemplateName; 368 400 } 369 401 alias FINDREPLACEW* LPFINDREPLACEW; 370 402 371 403 struct OPENFILENAMEA { 372 DWORD lStructSize;373 HWND hwndOwner;374 HINSTANCE hInstance;375 LPCSTR lpstrFilter;376 LPSTR lpstrCustomFilter;377 DWORD nMaxCustFilter;378 DWORD nFilterIndex;379 LPSTR lpstrFile;380 DWORD nMaxFile;381 LPSTR lpstrFileTitle;382 DWORD nMaxFileTitle;383 LPCSTR lpstrInitialDir;384 LPCSTR lpstrTitle;385 DWORD Flags;386 WORD nFileOffset;387 WORD nFileExtension;388 LPCSTR lpstrDefExt;389 DWORD lCustData;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; 390 422 LPOFNHOOKPROC lpfnHook; 391 LPCSTR lpTemplateName;423 LPCSTR lpTemplateName; 392 424 } 393 425 alias OPENFILENAMEA* LPOPENFILENAMEA; 394 426 395 427 struct OPENFILENAMEW { 396 DWORD lStructSize;397 HWND hwndOwner;398 HINSTANCE hInstance;399 LPCWSTR lpstrFilter;400 LPWSTR lpstrCustomFilter;401 DWORD nMaxCustFilter;402 DWORD nFilterIndex;403 LPWSTR lpstrFile;404 DWORD nMaxFile;405 LPWSTR lpstrFileTitle;406 DWORD nMaxFileTitle;407 LPCWSTR lpstrInitialDir;408 LPCWSTR lpstrTitle;409 DWORD Flags;410 WORD nFileOffset;411 WORD nFileExtension;412 LPCWSTR lpstrDefExt;413 DWORD lCustData;428 DWORD lStructSize = OPENFILENAMEW.sizeof; 429 HWND hwndOwner; 430 HINSTANCE hInstance; 431 LPCWSTR lpstrFilter; 432 LPWSTR lpstrCustomFilter; 433 DWORD nMaxCustFilter; 434 DWORD nFilterIndex; 435 LPWSTR lpstrFile; 436 DWORD nMaxFile; 437 LPWSTR lpstrFileTitle; 438 DWORD nMaxFileTitle; 439 LPCWSTR lpstrInitialDir; 440 LPCWSTR lpstrTitle; 441 DWORD Flags; 442 WORD nFileOffset; 443 WORD nFileExtension; 444 LPCWSTR lpstrDefExt; 445 DWORD lCustData; 414 446 LPOFNHOOKPROC lpfnHook; 415 LPCWSTR lpTemplateName;447 LPCWSTR lpTemplateName; 416 448 } 417 449 alias OPENFILENAMEW* LPOPENFILENAMEW; 418 450 451 const size_t OPENFILENAME_SIZE_VERSION_400 = 76; 452 419 453 struct OFNOTIFYA { 420 NMHDR hdr;454 NMHDR hdr; 421 455 LPOPENFILENAMEA lpOFN; 422 LPSTR pszFile;456 LPSTR pszFile; 423 457 } 424 458 alias OFNOTIFYA* LPOFNOTIFYA; 425 459 426 460 struct OFNOTIFYW { 427 NMHDR hdr;461 NMHDR hdr; 428 462 LPOPENFILENAMEW lpOFN; 429 LPWSTR pszFile;463 LPWSTR pszFile; 430 464 } 431 465 alias OFNOTIFYW* LPOFNOTIFYW; 432 466 433 467 struct PAGESETUPDLGA { 434 DWORD lStructSize;435 HWND hwndOwner;436 HGLOBAL hDevMode;437 HGLOBAL hDevNames;438 DWORD Flags;439 POINT ptPaperSize;440 RECT rtMinMargin;441 RECT rtMargin;442 HINSTANCE hInstance;443 LPARAM lCustData;468 DWORD lStructSize = PAGESETUPDLGA.sizeof; 469 HWND hwndOwner; 470 HGLOBAL hDevMode; 471 HGLOBAL hDevNames; 472 DWORD Flags; 473 POINT ptPaperSize; 474 RECT rtMinMargin; 475 RECT rtMargin; 476 HINSTANCE hInstance; 477 LPARAM lCustData; 444 478 LPPAGESETUPHOOK lpfnPageSetupHook; 445 479 LPPAGEPAINTHOOK lpfnPagePaintHook; 446 LPCSTR lpPageSetupTemplateName;447 HGLOBAL hPageSetupTemplate;480 LPCSTR lpPageSetupTemplateName; 481 HGLOBAL hPageSetupTemplate; 448 482 } 449 483 alias PAGESETUPDLGA* LPPAGESETUPDLGA; 450 484 451 485 struct PAGESETUPDLGW { 452 DWORD lStructSize;453 HWND hwndOwner;454 HGLOBAL hDevMode;455 HGLOBAL hDevNames;456 DWORD Flags;457 POINT ptPaperSize;458 RECT rtMinMargin;459 RECT rtMargin;460 HINSTANCE hInstance;461 LPARAM lCustData;486 DWORD lStructSize = PAGESETUPDLGW.sizeof; 487 HWND hwndOwner; 488 HGLOBAL hDevMode; 489 HGLOBAL hDevNames; 490 DWORD Flags; 491 POINT ptPaperSize; 492 RECT rtMinMargin; 493 RECT rtMargin; 494 HINSTANCE hInstance; 495 LPARAM lCustData; 462 496 LPPAGESETUPHOOK lpfnPageSetupHook; 463 497 LPPAGEPAINTHOOK lpfnPagePaintHook; 464 LPCWSTR lpPageSetupTemplateName;465 HGLOBAL hPageSetupTemplate;498 LPCWSTR lpPageSetupTemplateName; 499 HGLOBAL hPageSetupTemplate; 466 500 } 467 501 alias PAGESETUPDLGW* LPPAGESETUPDLGW; 468 502 469 503 struct PRINTDLGA { 470 DWORD lStructSize;471 HWND hwndOwner;472 HANDLE hDevMode;473 HANDLE hDevNames;474 HDC hDC;475 DWORD Flags;476 WORD nFromPage;477 WORD nToPage;478 WORD nMinPage;479 WORD nMaxPage;480 WORD nCopies;481 HINSTANCE hInstance;482 DWORD lCustData;504 DWORD lStructSize = PRINTDLGA.sizeof; 505 HWND hwndOwner; 506 HANDLE hDevMode; 507 HANDLE hDevNames; 508 HDC hDC; 509 DWORD Flags; 510 WORD nFromPage; 511 WORD nToPage; 512 WORD nMinPage; 513 WORD nMaxPage; 514 WORD nCopies; 515 HINSTANCE hInstance; 516 DWORD lCustData; 483 517 LPPRINTHOOKPROC lpfnPrintHook; 484 518 LPSETUPHOOKPROC lpfnSetupHook; 485 LPCSTR lpPrintTemplateName;486 LPCSTR lpSetupTemplateName;487 HANDLE hPrintTemplate;488 HANDLE hSetupTemplate;519 LPCSTR lpPrintTemplateName; 520 LPCSTR lpSetupTemplateName; 521 HANDLE hPrintTemplate; 522 HANDLE hSetupTemplate; 489 523 } 490 524 alias PRINTDLGA* LPPRINTDLGA; 491 525 492 526 struct PRINTDLGW { 493 DWORD lStructSize;494 HWND hwndOwner;495 HANDLE hDevMode;496 HANDLE hDevNames;497 HDC hDC;498 DWORD Flags;499 WORD nFromPage;500 WORD nToPage;501 WORD nMinPage;502 WORD nMaxPage;503 WORD nCopies;504 HINSTANCE hInstance;505 DWORD lCustData;527 DWORD lStructSize = PRINTDLGW.sizeof; 528 HWND hwndOwner; 529 HANDLE hDevMode; 530 HANDLE hDevNames; 531 HDC hDC; 532 DWORD Flags; 533 WORD nFromPage; 534 WORD nToPage; 535 WORD nMinPage; 536 WORD nMaxPage; 537 WORD nCopies; 538 HINSTANCE hInstance; 539 DWORD lCustData; 506 540 LPPRINTHOOKPROC lpfnPrintHook; 507 541 LPSETUPHOOKPROC lpfnSetupHook; 508 LPCWSTR lpPrintTemplateName;509 LPCWSTR lpSetupTemplateName;510 HANDLE hPrintTemplate;511 HANDLE hSetupTemplate;542 LPCWSTR lpPrintTemplateName; 543 LPCWSTR lpSetupTemplateName; 544 HANDLE hPrintTemplate; 545 HANDLE hSetupTemplate; 512 546 } 513 547 alias PRINTDLGW* LPPRINTDLGW; 514 548 515 static if ( WINVER >= 0x0500) {516 import win32.unknwn; // for LPUNKNOWN517 import win32.prsht; // for HPROPSHEETPAGE518 519 struct PRINTPAGERANGE {520 DWORD nFromPage;521 DWORD nToPage;522 }523 alias PRINTPAGERANGE* LPPRINTPAGERANGE;524 525 struct PRINTDLGEXA {526 DWORD lStructSize;527 HWNDhwndOwner;528 HGLOBALhDevMode;529 HGLOBALhDevNames;530 HDChDC;531 DWORDFlags;532 DWORDFlags2;533 DWORDExclusionFlags;534 DWORDnPageRanges;535 DWORDnMaxPageRanges;536 LPPRINTPAGERANGE lpPageRanges;537 DWORDnMinPage;538 DWORDnMaxPage;539 DWORDnCopies;540 HINSTANCEhInstance;541 LPCSTRlpPrintTemplateName;542 LPUNKNOWNlpCallback;543 DWORDnPropertyPages;544 HPROPSHEETPAGE*lphPropertyPages;545 DWORDnStartPage;546 DWORDdwResultAction;547 }548 alias PRINTDLGEXA* LPPRINTDLGEXA;549 550 struct PRINTDLGEXW {551 DWORD lStructSize;552 HWNDhwndOwner;553 HGLOBALhDevMode;554 HGLOBALhDevNames;555 HDChDC;556 DWORDFlags;557 DWORDFlags2;558 DWORDExclusionFlags;559 DWORDnPageRanges;560 DWORDnMaxPageRanges;561 LPPRINTPAGERANGE lpPageRanges;562 DWORDnMinPage;563 DWORDnMaxPage;564 DWORDnCopies;565 HINSTANCEhInstance;566 LPCWSTRlpPrintTemplateName;567 LPUNKNOWNlpCallback;568 DWORDnPropertyPages;569 HPROPSHEETPAGE*lphPropertyPages;570 DWORDnStartPage;571 DWORDdwResultAction;572 }573 alias PRINTDLGEXW* LPPRINTDLGEXW;574 575 } // WINVER >= 0x0500576 577 extern (Windows) :578 579 BOOL ChooseColorA(LPCHOOSECOLORA);580 BOOL ChooseColorW(LPCHOOSECOLORW);581 BOOL ChooseFontA(LPCHOOSEFONTA);582 BOOL ChooseFontW(LPCHOOSEFONTW);583 DWORD CommDlgExtendedError();584 HWND FindTextA(LPFINDREPLACEA);585 HWND FindTextW(LPFINDREPLACEW);586 short GetFileTitleA(LPCSTR,LPSTR,WORD);587 short GetFileTitleW(LPCWSTR,LPWSTR,WORD);588 BOOL GetOpenFileNameA(LPOPENFILENAMEA);589 BOOL GetOpenFileNameW(LPOPENFILENAMEW);590 BOOL GetSaveFileNameA(LPOPENFILENAMEA);591 BOOL GetSaveFileNameW(LPOPENFILENAMEW);592 BOOL PageSetupDlgA(LPPAGESETUPDLGA);593 BOOL PageSetupDlgW(LPPAGESETUPDLGW);594 BOOL PrintDlgA(LPPRINTDLGA);595 BOOL PrintDlgW(LPPRINTDLGW);596 HWND ReplaceTextA(LPFINDREPLACEA);597 HWND ReplaceTextW(LPFINDREPLACEW); 598 599 static if (WINVER >= 0x0500) { 600 HRESULT PrintDlgExA(LPPRINTDLGEXA);601 HRESULT PrintDlgExW(LPPRINTDLGEXW);602 } 603 604 version (Unicode) {549 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 550 import win32.unknwn; // for LPUNKNOWN 551 import win32.prsht; // for HPROPSHEETPAGE 552 553 struct PRINTPAGERANGE { 554 DWORD nFromPage; 555 DWORD nToPage; 556 } 557 alias PRINTPAGERANGE* LPPRINTPAGERANGE; 558 559 struct PRINTDLGEXA { 560 DWORD lStructSize = PRINTDLGEXA.sizeof; 561 HWND hwndOwner; 562 HGLOBAL hDevMode; 563 HGLOBAL hDevNames; 564 HDC hDC; 565 DWORD Flags; 566 DWORD Flags2; 567 DWORD ExclusionFlags; 568 DWORD nPageRanges; 569 DWORD nMaxPageRanges; 570 LPPRINTPAGERANGE lpPageRanges; 571 DWORD nMinPage; 572 DWORD nMaxPage; 573 DWORD nCopies; 574 HINSTANCE hInstance; 575 LPCSTR lpPrintTemplateName; 576 LPUNKNOWN lpCallback; 577 DWORD nPropertyPages; 578 HPROPSHEETPAGE* lphPropertyPages; 579 DWORD nStartPage; 580 DWORD dwResultAction; 581 } 582 alias PRINTDLGEXA* LPPRINTDLGEXA; 583 584 struct PRINTDLGEXW { 585 DWORD lStructSize = PRINTDLGEXW.sizeof; 586 HWND hwndOwner; 587 HGLOBAL hDevMode; 588 HGLOBAL hDevNames; 589 HDC hDC; 590 DWORD Flags; 591 DWORD Flags2; 592 DWORD ExclusionFlags; 593 DWORD nPageRanges; 594 DWORD nMaxPageRanges; 595 LPPRINTPAGERANGE lpPageRanges; 596 DWORD nMinPage; 597 DWORD nMaxPage; 598 DWORD nCopies; 599 HINSTANCE hInstance; 600 LPCWSTR lpPrintTemplateName; 601 LPUNKNOWN lpCallback; 602 DWORD nPropertyPages; 603 HPROPSHEETPAGE* lphPropertyPages; 604 DWORD nStartPage; 605 DWORD dwResultAction; 606 } 607 alias PRINTDLGEXW* LPPRINTDLGEXW; 608 609 } // _WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500 610 611 extern (Windows) { 612 BOOL ChooseColorA(LPCHOOSECOLORA); 613 BOOL ChooseColorW(LPCHOOSECOLORW); 614 BOOL ChooseFontA(LPCHOOSEFONTA); 615 BOOL ChooseFontW(LPCHOOSEFONTW); 616 DWORD CommDlgExtendedError(); 617 HWND FindTextA(LPFINDREPLACEA); 618 HWND FindTextW(LPFINDREPLACEW); 619 short GetFileTitleA(LPCSTR, LPSTR, WORD); 620 short GetFileTitleW(LPCWSTR, LPWSTR, WORD); 621 BOOL GetOpenFileNameA(LPOPENFILENAMEA); 622 BOOL GetOpenFileNameW(LPOPENFILENAMEW); 623 BOOL GetSaveFileNameA(LPOPENFILENAMEA); 624 BOOL GetSaveFileNameW(LPOPENFILENAMEW); 625 BOOL PageSetupDlgA(LPPAGESETUPDLGA); 626 BOOL PageSetupDlgW(LPPAGESETUPDLGW); 627 BOOL PrintDlgA(LPPRINTDLGA); 628 BOOL PrintDlgW(LPPRINTDLGW); 629 HWND ReplaceTextA(LPFINDREPLACEA); 630 HWND ReplaceTextW(LPFINDREPLACEW); 631 632 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 633 HRESULT PrintDlgExA(LPPRINTDLGEXA); 634 HRESULT PrintDlgExW(LPPRINTDLGEXW); 635 } 636 } 637 638 version (Unicode) { 605 639 alias CHOOSECOLORW CHOOSECOLOR; 606 640 alias CHOOSEFONTW CHOOSEFONT; … … 621 655 alias ReplaceTextW ReplaceText; 622 656 623 static if ( WINVER >= 0x0500) {657 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 624 658 alias PRINTDLGEXW PRINTDLGEX; 625 659 alias PrintDlgExW PrintDlgEx; 626 } // WINVER >= 0x0500660 } 627 661 628 662 } else { // UNICODE … … 646 680 alias ReplaceTextA ReplaceText; 647 681 648 static if ( WINVER >= 0x0500) {682 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 649 683 alias PRINTDLGEXA PRINTDLGEX; 650 684 alias PrintDlgExA PrintDlgEx; 651 } // WINVER >= 0x0500685 } 652 686 653 687 } // UNICODE … … 660 694 alias PAGESETUPDLG* LPPAGESETUPDLG; 661 695 alias PRINTDLG* LPPRINTDLG; 662 static if ( WINVER >= 0x0500) {696 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 663 697 alias PRINTDLGEX* LPPRINTDLGEX; 664 698 }
