]> gcc.gnu.org Git - gcc.git/blob - libphobos/libdruntime/core/sys/windows/commdlg.d
Add D front-end, libphobos library, and D2 testsuite.
[gcc.git] / libphobos / libdruntime / core / sys / windows / commdlg.d
1 /**
2 * Windows API header module
3 *
4 * Translated from MinGW API for MS-Windows 3.12
5 *
6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7 * Source: $(DRUNTIMESRC src/core/sys/windows/_commdlg.d)
8 */
9 module core.sys.windows.commdlg;
10 version (Windows):
11
12 version (ANSI) {} else version = Unicode;
13 pragma(lib, "comdlg32");
14
15 private import core.sys.windows.w32api;
16 import core.sys.windows.windef, core.sys.windows.winuser;
17 import core.sys.windows.wingdi; // for LPLOGFONTA
18
19 const TCHAR[]
20 LBSELCHSTRING = "commdlg_LBSelChangedNotify",
21 SHAREVISTRING = "commdlg_ShareViolation",
22 FILEOKSTRING = "commdlg_FileNameOK",
23 COLOROKSTRING = "commdlg_ColorOK",
24 SETRGBSTRING = "commdlg_SetRGBColor",
25 HELPMSGSTRING = "commdlg_help",
26 FINDMSGSTRING = "commdlg_FindReplace";
27
28 enum : UINT {
29 CDN_FIRST = -601, // also in commctrl.h
30 CDN_LAST = -699,
31 CDN_INITDONE = CDN_FIRST,
32 CDN_SELCHANGE = CDN_FIRST - 1,
33 CDN_FOLDERCHANGE = CDN_FIRST - 2,
34 CDN_SHAREVIOLATION = CDN_FIRST - 3,
35 CDN_HELP = CDN_FIRST - 4,
36 CDN_FILEOK = CDN_FIRST - 5,
37 CDN_TYPECHANGE = CDN_FIRST - 6,
38 }
39
40 //static if (_WIN32_WINNT >= 0x500) {
41 enum : UINT {
42 CDN_INCLUDEITEM = CDN_FIRST - 7,
43 }
44 //}
45
46 enum : UINT {
47 CDM_FIRST = WM_USER + 100,
48 CDM_LAST = WM_USER + 200,
49 CDM_GETSPEC = CDM_FIRST,
50 CDM_GETFILEPATH,
51 CDM_GETFOLDERPATH,
52 CDM_GETFOLDERIDLIST,
53 CDM_SETCONTROLTEXT,
54 CDM_HIDECONTROL,
55 CDM_SETDEFEXT // = CDM_FIRST + 6
56 }
57
58 // flags for ChooseColor
59 enum : DWORD {
60 CC_RGBINIT = 0x0001,
61 CC_FULLOPEN = 0x0002,
62 CC_PREVENTFULLOPEN = 0x0004,
63 CC_SHOWHELP = 0x0008,
64 CC_ENABLEHOOK = 0x0010,
65 CC_ENABLETEMPLATE = 0x0020,
66 CC_ENABLETEMPLATEHANDLE = 0x0040,
67 CC_SOLIDCOLOR = 0x0080,
68 CC_ANYCOLOR = 0x0100
69 }
70
71 // flags for ChooseFont
72 enum : DWORD {
73 CF_SCREENFONTS = 0x00000001,
74 CF_PRINTERFONTS = 0x00000002,
75 CF_BOTH = 0x00000003,
76 CF_SHOWHELP = 0x00000004,
77 CF_ENABLEHOOK = 0x00000008,
78 CF_ENABLETEMPLATE = 0x00000010,
79 CF_ENABLETEMPLATEHANDLE = 0x00000020,
80 CF_INITTOLOGFONTSTRUCT = 0x00000040,
81 CF_USESTYLE = 0x00000080,
82 CF_EFFECTS = 0x00000100,
83 CF_APPLY = 0x00000200,
84 CF_ANSIONLY = 0x00000400,
85 CF_SCRIPTSONLY = CF_ANSIONLY,
86 CF_NOVECTORFONTS = 0x00000800,
87 CF_NOOEMFONTS = 0x00000800,
88 CF_NOSIMULATIONS = 0x00001000,
89 CF_LIMITSIZE = 0x00002000,
90 CF_FIXEDPITCHONLY = 0x00004000,
91 CF_WYSIWYG = 0x00008000,
92 CF_FORCEFONTEXIST = 0x00010000,
93 CF_SCALABLEONLY = 0x00020000,
94 CF_TTONLY = 0x00040000,
95 CF_NOFACESEL = 0x00080000,
96 CF_NOSTYLESEL = 0x00100000,
97 CF_NOSIZESEL = 0x00200000,
98 CF_SELECTSCRIPT = 0x00400000,
99 CF_NOSCRIPTSEL = 0x00800000,
100 CF_NOVERTFONTS = 0x01000000
101 }
102
103 // Font type for ChooseFont
104 enum : WORD {
105 BOLD_FONTTYPE = 0x0100,
106 ITALIC_FONTTYPE = 0x0200,
107 REGULAR_FONTTYPE = 0x0400,
108 SCREEN_FONTTYPE = 0x2000,
109 PRINTER_FONTTYPE = 0x4000,
110 SIMULATED_FONTTYPE = 0x8000
111 }
112
113 enum : UINT {
114 WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1,
115 WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101,
116 WM_CHOOSEFONT_SETFLAGS = WM_USER + 102
117 }
118
119 // flags for OpenFileName
120 enum : DWORD {
121 OFN_SHAREWARN = 0,
122 OFN_SHARENOWARN = 0x000001,
123 OFN_READONLY = 0x000001,
124 OFN_SHAREFALLTHROUGH = 0x000002,
125 OFN_OVERWRITEPROMPT = 0x000002,
126 OFN_HIDEREADONLY = 0x000004,
127 OFN_NOCHANGEDIR = 0x000008,
128 OFN_SHOWHELP = 0x000010,
129 OFN_ENABLEHOOK = 0x000020,
130 OFN_ENABLETEMPLATE = 0x000040,
131 OFN_ENABLETEMPLATEHANDLE = 0x000080,
132 OFN_NOVALIDATE = 0x000100,
133 OFN_ALLOWMULTISELECT = 0x000200,
134 OFN_EXTENSIONDIFFERENT = 0x000400,
135 OFN_PATHMUSTEXIST = 0x000800,
136 OFN_FILEMUSTEXIST = 0x001000,
137 OFN_CREATEPROMPT = 0x002000,
138 OFN_SHAREAWARE = 0x004000,
139 OFN_NOREADONLYRETURN = 0x008000,
140 OFN_NOTESTFILECREATE = 0x010000,
141 OFN_NONETWORKBUTTON = 0x020000,
142 OFN_NOLONGNAMES = 0x040000,
143 OFN_EXPLORER = 0x080000,
144 OFN_NODEREFERENCELINKS = 0x100000,
145 OFN_LONGNAMES = 0x200000,
146 OFN_ENABLESIZING = 0x800000
147 }
148
149 enum : DWORD {
150 FR_DOWN = 0x00000001,
151 FR_WHOLEWORD = 0x00000002,
152 FR_MATCHCASE = 0x00000004,
153 FR_FINDNEXT = 0x00000008,
154 FR_REPLACE = 0x00000010,
155 FR_REPLACEALL = 0x00000020,
156 FR_DIALOGTERM = 0x00000040,
157 FR_SHOWHELP = 0x00000080,
158 FR_ENABLEHOOK = 0x00000100,
159 FR_ENABLETEMPLATE = 0x00000200,
160 FR_NOUPDOWN = 0x00000400,
161 FR_NOMATCHCASE = 0x00000800,
162 FR_NOWHOLEWORD = 0x00001000,
163 FR_ENABLETEMPLATEHANDLE = 0x00002000,
164 FR_HIDEUPDOWN = 0x00004000,
165 FR_HIDEMATCHCASE = 0x00008000,
166 FR_HIDEWHOLEWORD = 0x00010000,
167 FR_MATCHDIAC = 0x20000000,
168 FR_MATCHKASHIDA = 0x40000000,
169 FR_MATCHALEFHAMZA = 0x80000000
170 }
171
172 enum : DWORD {
173 PD_ALLPAGES = 0,
174 PD_SELECTION = 0x000001,
175 PD_PAGENUMS = 0x000002,
176 PD_NOSELECTION = 0x000004,
177 PD_NOPAGENUMS = 0x000008,
178 PD_COLLATE = 0x000010,
179 PD_PRINTTOFILE = 0x000020,
180 PD_PRINTSETUP = 0x000040,
181 PD_NOWARNING = 0x000080,
182 PD_RETURNDC = 0x000100,
183 PD_RETURNIC = 0x000200,
184 PD_RETURNDEFAULT = 0x000400,
185 PD_SHOWHELP = 0x000800,
186 PD_ENABLEPRINTHOOK = 0x001000,
187 PD_ENABLESETUPHOOK = 0x002000,
188 PD_ENABLEPRINTTEMPLATE = 0x004000,
189 PD_ENABLESETUPTEMPLATE = 0x008000,
190 PD_ENABLEPRINTTEMPLATEHANDLE = 0x010000,
191 PD_ENABLESETUPTEMPLATEHANDLE = 0x020000,
192 PD_USEDEVMODECOPIES = 0x040000,
193 PD_USEDEVMODECOPIESANDCOLLATE = 0x040000,
194 PD_DISABLEPRINTTOFILE = 0x080000,
195 PD_HIDEPRINTTOFILE = 0x100000,
196 PD_NONETWORKBUTTON = 0x200000
197 }
198
199 //static if (_WIN32_WINNT >= 0x500) {
200 enum : DWORD {
201 PD_CURRENTPAGE = 0x00400000,
202 PD_NOCURRENTPAGE = 0x00800000,
203 PD_EXCLUSIONFLAGS = 0x01000000,
204 PD_USELARGETEMPLATE = 0x10000000,
205 }
206
207 enum : HRESULT {
208 PD_RESULT_CANCEL,
209 PD_RESULT_PRINT,
210 PD_RESULT_APPLY
211 }
212
213 enum DWORD START_PAGE_GENERAL = 0xFFFFFFFF;
214 //}
215
216 enum {
217 PSD_DEFAULTMINMARGINS = 0,
218 PSD_INWININIINTLMEASURE = 0,
219 PSD_MINMARGINS = 0x000001,
220 PSD_MARGINS = 0x000002,
221 PSD_INTHOUSANDTHSOFINCHES = 0x000004,
222 PSD_INHUNDREDTHSOFMILLIMETERS = 0x000008,
223 PSD_DISABLEMARGINS = 0x000010,
224 PSD_DISABLEPRINTER = 0x000020,
225 PSD_NOWARNING = 0x000080,
226 PSD_DISABLEORIENTATION = 0x000100,
227 PSD_DISABLEPAPER = 0x000200,
228 PSD_RETURNDEFAULT = 0x000400,
229 PSD_SHOWHELP = 0x000800,
230 PSD_ENABLEPAGESETUPHOOK = 0x002000,
231 PSD_ENABLEPAGESETUPTEMPLATE = 0x008000,
232 PSD_ENABLEPAGESETUPTEMPLATEHANDLE = 0x020000,
233 PSD_ENABLEPAGEPAINTHOOK = 0x040000,
234 PSD_DISABLEPAGEPAINTING = 0x080000
235 }
236
237 enum : UINT {
238 WM_PSD_PAGESETUPDLG = WM_USER,
239 WM_PSD_FULLPAGERECT,
240 WM_PSD_MINMARGINRECT,
241 WM_PSD_MARGINRECT,
242 WM_PSD_GREEKTEXTRECT,
243 WM_PSD_ENVSTAMPRECT,
244 WM_PSD_YAFULLPAGERECT // = WM_USER + 6
245 }
246
247 enum : int {
248 CD_LBSELNOITEMS = -1,
249 CD_LBSELCHANGE,
250 CD_LBSELSUB,
251 CD_LBSELADD
252 }
253
254 enum WORD DN_DEFAULTPRN = 1;
255
256 /+
257 // Both MinGW and the windows docs indicate that there are macros for the send messages
258 // the controls. These seem to be totally unnecessary -- and at least one of MinGW or
259 // Windows Docs is buggy!
260
261 int CommDlg_OpenSave_GetSpec(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
262 return SendMessage(hWndControl, CDM_GETSPEC, wParam, lParam);
263 }
264
265 int CommDlg_OpenSave_GetFilePath(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
266 return SendMessage(hWndControl, CDM_GETFILEPATH, wParam, lParam);
267 }
268
269 int CommDlg_OpenSave_GetFolderPath(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
270 return SendMessage(hWndControl, CDM_GETFOLDERPATH, wParam, lParam);
271 }
272
273 int CommDlg_OpenSave_GetFolderIDList(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
274 return SendMessage(hWndControl, CDM_GETFOLDERIDLIST, wParam, lParam);
275 }
276
277 void CommDlg_OpenSave_SetControlText(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
278 return SendMessage(hWndControl, CDM_SETCONTROLTEXT, wParam, lParam);
279 }
280
281 void CommDlg_OpenSave_HideControl(HWND hWndControl, WPARAM wParam) {
282 return SendMessage(hWndControl, CDM_HIDECONTROL, wParam, 0);
283 }
284
285 void CommDlg_OpenSave_SetDefExt(HWND hWndControl, TCHAR* lparam) {
286 return SendMessage(hWndControl, CDM_SETCONTROLTEXT, 0, cast(LPARAM)lParam);
287 }
288
289 // These aliases seem even more unnecessary
290 alias CommDlg_OpenSave_GetSpec
291 CommDlg_OpenSave_GetSpecA, CommDlg_OpenSave_GetSpecW;
292 alias CommDlg_OpenSave_GetFilePath
293 CommDlg_OpenSave_GetFilePathA, CommDlg_OpenSave_GetFilePathW;
294 alias CommDlg_OpenSave_GetFolderPath
295 CommDlg_OpenSave_GetFolderPathA, CommDlg_OpenSave_GetFolderPathW;
296 +/
297
298 // Callbacks.
299 extern(Windows) {
300 alias UINT_PTR function (HWND, UINT, WPARAM, LPARAM) nothrow
301 LPCCHOOKPROC, LPCFHOOKPROC, LPFRHOOKPROC, LPOFNHOOKPROC,
302 LPPAGEPAINTHOOK, LPPAGESETUPHOOK, LPSETUPHOOKPROC, LPPRINTHOOKPROC;
303 }
304
305 //align (1): // 1 in Win32, default in Win64
306
307 struct CHOOSECOLORA {
308 DWORD lStructSize = CHOOSECOLORA.sizeof;
309 HWND hwndOwner;
310 HWND hInstance;
311 COLORREF rgbResult;
312 COLORREF* lpCustColors;
313 DWORD Flags;
314 LPARAM lCustData;
315 LPCCHOOKPROC lpfnHook;
316 LPCSTR lpTemplateName;
317 }
318 alias CHOOSECOLORA* LPCHOOSECOLORA;
319
320 struct CHOOSECOLORW {
321 DWORD lStructSize = CHOOSECOLORW.sizeof;
322 HWND hwndOwner;
323 HWND hInstance;
324 COLORREF rgbResult;
325 COLORREF* lpCustColors;
326 DWORD Flags;
327 LPARAM lCustData;
328 LPCCHOOKPROC lpfnHook;
329 LPCWSTR lpTemplateName;
330 }
331 alias CHOOSECOLORW* LPCHOOSECOLORW;
332
333 struct CHOOSEFONTA {
334 DWORD lStructSize = CHOOSEFONTA.sizeof;
335 HWND hwndOwner;
336 HDC hDC;
337 LPLOGFONTA lpLogFont;
338 INT iPointSize;
339 DWORD Flags;
340 DWORD rgbColors;
341 LPARAM lCustData;
342 LPCFHOOKPROC lpfnHook;
343 LPCSTR lpTemplateName;
344 HINSTANCE hInstance;
345 LPSTR lpszStyle;
346 WORD nFontType;
347 WORD ___MISSING_ALIGNMENT__;
348 INT nSizeMin;
349 INT nSizeMax;
350 }
351 alias CHOOSEFONTA* LPCHOOSEFONTA;
352
353 struct CHOOSEFONTW {
354 DWORD lStructSize = CHOOSEFONTW.sizeof;
355 HWND hwndOwner;
356 HDC hDC;
357 LPLOGFONTW lpLogFont;
358 INT iPointSize;
359 DWORD Flags;
360 DWORD rgbColors;
361 LPARAM lCustData;
362 LPCFHOOKPROC lpfnHook;
363 LPCWSTR lpTemplateName;
364 HINSTANCE hInstance;
365 LPWSTR lpszStyle;
366 WORD nFontType;
367 WORD ___MISSING_ALIGNMENT__;
368 INT nSizeMin;
369 INT nSizeMax;
370 }
371 alias CHOOSEFONTW* LPCHOOSEFONTW;
372
373 struct DEVNAMES {
374 WORD wDriverOffset;
375 WORD wDeviceOffset;
376 WORD wOutputOffset;
377 WORD wDefault;
378 }
379 alias DEVNAMES* LPDEVNAMES;
380
381 struct FINDREPLACEA {
382 DWORD lStructSize = FINDREPLACEA.sizeof;
383 HWND hwndOwner;
384 HINSTANCE hInstance;
385 DWORD Flags;
386 LPSTR lpstrFindWhat;
387 LPSTR lpstrReplaceWith;
388 WORD wFindWhatLen;
389 WORD wReplaceWithLen;
390 LPARAM lCustData;
391 LPFRHOOKPROC lpfnHook;
392 LPCSTR lpTemplateName;
393 }
394 alias FINDREPLACEA* LPFINDREPLACEA;
395
396 struct FINDREPLACEW {
397 DWORD lStructSize = FINDREPLACEW.sizeof;
398 HWND hwndOwner;
399 HINSTANCE hInstance;
400 DWORD Flags;
401 LPWSTR lpstrFindWhat;
402 LPWSTR lpstrReplaceWith;
403 WORD wFindWhatLen;
404 WORD wReplaceWithLen;
405 LPARAM lCustData;
406 LPFRHOOKPROC lpfnHook;
407 LPCWSTR lpTemplateName;
408 }
409 alias FINDREPLACEW* LPFINDREPLACEW;
410
411 struct OPENFILENAMEA {
412 DWORD lStructSize = OPENFILENAMEA.sizeof;
413 HWND hwndOwner;
414 HINSTANCE hInstance;
415 LPCSTR lpstrFilter;
416 LPSTR lpstrCustomFilter;
417 DWORD nMaxCustFilter;
418 DWORD nFilterIndex;
419 LPSTR lpstrFile;
420 DWORD nMaxFile;
421 LPSTR lpstrFileTitle;
422 DWORD nMaxFileTitle;
423 LPCSTR lpstrInitialDir;
424 LPCSTR lpstrTitle;
425 DWORD Flags;
426 WORD nFileOffset;
427 WORD nFileExtension;
428 LPCSTR lpstrDefExt;
429 LPARAM lCustData;
430 LPOFNHOOKPROC lpfnHook;
431 LPCSTR lpTemplateName;
432
433 //static if (_WIN32_WINNT >= 0x500) {
434 void *pvReserved;
435 DWORD dwReserved;
436 DWORD FlagsEx;
437 //}
438 }
439 alias OPENFILENAMEA* LPOPENFILENAMEA;
440
441 struct OPENFILENAMEW {
442 DWORD lStructSize = OPENFILENAMEW.sizeof;
443 HWND hwndOwner;
444 HINSTANCE hInstance;
445 LPCWSTR lpstrFilter;
446 LPWSTR lpstrCustomFilter;
447 DWORD nMaxCustFilter;
448 DWORD nFilterIndex;
449 LPWSTR lpstrFile;
450 DWORD nMaxFile;
451 LPWSTR lpstrFileTitle;
452 DWORD nMaxFileTitle;
453 LPCWSTR lpstrInitialDir;
454 LPCWSTR lpstrTitle;
455 DWORD Flags;
456 WORD nFileOffset;
457 WORD nFileExtension;
458 LPCWSTR lpstrDefExt;
459 LPARAM lCustData;
460 LPOFNHOOKPROC lpfnHook;
461 LPCWSTR lpTemplateName;
462
463 //static if (_WIN32_WINNT >= 0x500) {
464 void *pvReserved;
465 DWORD dwReserved;
466 DWORD FlagsEx;
467 //}
468 }
469 alias OPENFILENAMEW* LPOPENFILENAMEW;
470
471 enum size_t OPENFILENAME_SIZE_VERSION_400 = 76;
472
473 struct OFNOTIFYA {
474 NMHDR hdr;
475 LPOPENFILENAMEA lpOFN;
476 LPSTR pszFile;
477 }
478 alias OFNOTIFYA* LPOFNOTIFYA;
479
480 struct OFNOTIFYW {
481 NMHDR hdr;
482 LPOPENFILENAMEW lpOFN;
483 LPWSTR pszFile;
484 }
485 alias OFNOTIFYW* LPOFNOTIFYW;
486
487 struct PAGESETUPDLGA {
488 DWORD lStructSize = PAGESETUPDLGA.sizeof;
489 HWND hwndOwner;
490 HGLOBAL hDevMode;
491 HGLOBAL hDevNames;
492 DWORD Flags;
493 POINT ptPaperSize;
494 RECT rtMinMargin;
495 RECT rtMargin;
496 HINSTANCE hInstance;
497 LPARAM lCustData;
498 LPPAGESETUPHOOK lpfnPageSetupHook;
499 LPPAGEPAINTHOOK lpfnPagePaintHook;
500 LPCSTR lpPageSetupTemplateName;
501 HGLOBAL hPageSetupTemplate;
502 }
503 alias PAGESETUPDLGA* LPPAGESETUPDLGA;
504
505 struct PAGESETUPDLGW {
506 DWORD lStructSize = PAGESETUPDLGW.sizeof;
507 HWND hwndOwner;
508 HGLOBAL hDevMode;
509 HGLOBAL hDevNames;
510 DWORD Flags;
511 POINT ptPaperSize;
512 RECT rtMinMargin;
513 RECT rtMargin;
514 HINSTANCE hInstance;
515 LPARAM lCustData;
516 LPPAGESETUPHOOK lpfnPageSetupHook;
517 LPPAGEPAINTHOOK lpfnPagePaintHook;
518 LPCWSTR lpPageSetupTemplateName;
519 HGLOBAL hPageSetupTemplate;
520 }
521 alias PAGESETUPDLGW* LPPAGESETUPDLGW;
522
523 align (1) struct PRINTDLGA {
524 align(1):
525 DWORD lStructSize = PRINTDLGA.sizeof;
526 version (Win64)
527 DWORD padding1;
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 version (Win64)
539 WORD padding2;
540 HINSTANCE hInstance;
541 LPARAM lCustData;
542 LPPRINTHOOKPROC lpfnPrintHook;
543 LPSETUPHOOKPROC lpfnSetupHook;
544 LPCSTR lpPrintTemplateName;
545 LPCSTR lpSetupTemplateName;
546 HANDLE hPrintTemplate;
547 HANDLE hSetupTemplate;
548 }
549 alias PRINTDLGA* LPPRINTDLGA;
550
551 align (1) struct PRINTDLGW {
552 align(1):
553 DWORD lStructSize = PRINTDLGW.sizeof;
554 version (Win64)
555 DWORD padding1;
556 HWND hwndOwner;
557 HANDLE hDevMode;
558 HANDLE hDevNames;
559 HDC hDC;
560 DWORD Flags;
561 WORD nFromPage;
562 WORD nToPage;
563 WORD nMinPage;
564 WORD nMaxPage;
565 WORD nCopies;
566 version (Win64)
567 WORD padding2;
568 HINSTANCE hInstance;
569 LPARAM lCustData;
570 LPPRINTHOOKPROC lpfnPrintHook;
571 LPSETUPHOOKPROC lpfnSetupHook;
572 LPCWSTR lpPrintTemplateName;
573 LPCWSTR lpSetupTemplateName;
574 HANDLE hPrintTemplate;
575 HANDLE hSetupTemplate;
576 }
577 alias PRINTDLGW* LPPRINTDLGW;
578
579 //static if (_WIN32_WINNT >= 0x500) {
580 import core.sys.windows.unknwn; // for LPUNKNOWN
581 import core.sys.windows.prsht; // for HPROPSHEETPAGE
582
583 struct PRINTPAGERANGE {
584 DWORD nFromPage;
585 DWORD nToPage;
586 }
587 alias PRINTPAGERANGE* LPPRINTPAGERANGE;
588
589 struct PRINTDLGEXA {
590 DWORD lStructSize = PRINTDLGEXA.sizeof;
591 HWND hwndOwner;
592 HGLOBAL hDevMode;
593 HGLOBAL hDevNames;
594 HDC hDC;
595 DWORD Flags;
596 DWORD Flags2;
597 DWORD ExclusionFlags;
598 DWORD nPageRanges;
599 DWORD nMaxPageRanges;
600 LPPRINTPAGERANGE lpPageRanges;
601 DWORD nMinPage;
602 DWORD nMaxPage;
603 DWORD nCopies;
604 HINSTANCE hInstance;
605 LPCSTR lpPrintTemplateName;
606 LPUNKNOWN lpCallback;
607 DWORD nPropertyPages;
608 HPROPSHEETPAGE* lphPropertyPages;
609 DWORD nStartPage;
610 DWORD dwResultAction;
611 }
612 alias PRINTDLGEXA* LPPRINTDLGEXA;
613
614 struct PRINTDLGEXW {
615 DWORD lStructSize = PRINTDLGEXW.sizeof;
616 HWND hwndOwner;
617 HGLOBAL hDevMode;
618 HGLOBAL hDevNames;
619 HDC hDC;
620 DWORD Flags;
621 DWORD Flags2;
622 DWORD ExclusionFlags;
623 DWORD nPageRanges;
624 DWORD nMaxPageRanges;
625 LPPRINTPAGERANGE lpPageRanges;
626 DWORD nMinPage;
627 DWORD nMaxPage;
628 DWORD nCopies;
629 HINSTANCE hInstance;
630 LPCWSTR lpPrintTemplateName;
631 LPUNKNOWN lpCallback;
632 DWORD nPropertyPages;
633 HPROPSHEETPAGE* lphPropertyPages;
634 DWORD nStartPage;
635 DWORD dwResultAction;
636 }
637 alias PRINTDLGEXW* LPPRINTDLGEXW;
638
639 //} // _WIN32_WINNT >= 0x500
640
641 extern (Windows) nothrow @nogc {
642 BOOL ChooseColorA(LPCHOOSECOLORA);
643 BOOL ChooseColorW(LPCHOOSECOLORW);
644 BOOL ChooseFontA(LPCHOOSEFONTA);
645 BOOL ChooseFontW(LPCHOOSEFONTW);
646 DWORD CommDlgExtendedError();
647 HWND FindTextA(LPFINDREPLACEA);
648 HWND FindTextW(LPFINDREPLACEW);
649 short GetFileTitleA(LPCSTR, LPSTR, WORD);
650 short GetFileTitleW(LPCWSTR, LPWSTR, WORD);
651 BOOL GetOpenFileNameA(LPOPENFILENAMEA);
652 BOOL GetOpenFileNameW(LPOPENFILENAMEW);
653 BOOL GetSaveFileNameA(LPOPENFILENAMEA);
654 BOOL GetSaveFileNameW(LPOPENFILENAMEW);
655 BOOL PageSetupDlgA(LPPAGESETUPDLGA);
656 BOOL PageSetupDlgW(LPPAGESETUPDLGW);
657 BOOL PrintDlgA(LPPRINTDLGA);
658 BOOL PrintDlgW(LPPRINTDLGW);
659 HWND ReplaceTextA(LPFINDREPLACEA);
660 HWND ReplaceTextW(LPFINDREPLACEW);
661
662 //static if (_WIN32_WINNT >= 0x500) {
663 HRESULT PrintDlgExA(LPPRINTDLGEXA);
664 HRESULT PrintDlgExW(LPPRINTDLGEXW);
665 //}
666 }
667
668 version (Unicode) {
669 alias CHOOSECOLORW CHOOSECOLOR;
670 alias CHOOSEFONTW CHOOSEFONT;
671 alias FINDREPLACEW FINDREPLACE;
672 alias OPENFILENAMEW OPENFILENAME;
673 alias OFNOTIFYW OFNOTIFY;
674 alias PAGESETUPDLGW PAGESETUPDLG;
675 alias PRINTDLGW PRINTDLG;
676
677 alias ChooseColorW ChooseColor;
678 alias ChooseFontW ChooseFont;
679 alias FindTextW FindText;
680 alias GetFileTitleW GetFileTitle;
681 alias GetOpenFileNameW GetOpenFileName;
682 alias GetSaveFileNameW GetSaveFileName;
683 alias PageSetupDlgW PageSetupDlg;
684 alias PrintDlgW PrintDlg;
685 alias ReplaceTextW ReplaceText;
686
687 //static if (_WIN32_WINNT >= 0x500) {
688 alias PRINTDLGEXW PRINTDLGEX;
689 alias PrintDlgExW PrintDlgEx;
690 //}
691
692 } else { // UNICODE
693
694 alias CHOOSECOLORA CHOOSECOLOR;
695 alias CHOOSEFONTA CHOOSEFONT;
696 alias FINDREPLACEA FINDREPLACE;
697 alias OPENFILENAMEA OPENFILENAME;
698 alias OFNOTIFYA OFNOTIFY;
699 alias PAGESETUPDLGA PAGESETUPDLG;
700 alias PRINTDLGA PRINTDLG;
701
702 alias ChooseColorA ChooseColor;
703 alias ChooseFontA ChooseFont;
704 alias FindTextA FindText;
705 alias GetFileTitleA GetFileTitle;
706 alias GetOpenFileNameA GetOpenFileName;
707 alias GetSaveFileNameA GetSaveFileName;
708 alias PageSetupDlgA PageSetupDlg;
709 alias PrintDlgA PrintDlg;
710 alias ReplaceTextA ReplaceText;
711
712 //static if (_WIN32_WINNT >= 0x500) {
713 alias PRINTDLGEXA PRINTDLGEX;
714 alias PrintDlgExA PrintDlgEx;
715 //}
716
717 } // UNICODE
718
719 alias CHOOSECOLOR* LPCHOOSECOLOR;
720 alias CHOOSEFONT* LPCHOOSEFONT;
721 alias FINDREPLACE* LPFINDREPLACE;
722 alias OPENFILENAME* LPOPENFILENAME;
723 alias OFNOTIFY* LPOFNOTIFY;
724 alias PAGESETUPDLG* LPPAGESETUPDLG;
725 alias PRINTDLG* LPPRINTDLG;
726 //static if (_WIN32_WINNT >= 0x500) {
727 alias PRINTDLGEX* LPPRINTDLGEX;
728 //}
This page took 0.067293 seconds and 5 git commands to generate.