This patch initializes the return buffer used in GetPrinterDriverA to
[wine.git] / include / commdlg.h
blob251e481e7721b4d478ba4e9042150479d845045b
1 /*
2 * COMMDLG - Common Wine Dialog ... :-)
3 */
5 #ifndef __WINE_COMMDLG_H
6 #define __WINE_COMMDLG_H
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
12 #include "windef.h" /* needed for CHOOSEFONT structure */
13 #include "wingdi.h"
14 #include "winuser.h"
15 #include "pshpack1.h"
17 #define OFN_READONLY 0x00000001
18 #define OFN_OVERWRITEPROMPT 0x00000002
19 #define OFN_HIDEREADONLY 0x00000004
20 #define OFN_NOCHANGEDIR 0x00000008
21 #define OFN_SHOWHELP 0x00000010
22 #define OFN_ENABLEHOOK 0x00000020
23 #define OFN_ENABLETEMPLATE 0x00000040
24 #define OFN_ENABLETEMPLATEHANDLE 0x00000080
25 #define OFN_NOVALIDATE 0x00000100
26 #define OFN_ALLOWMULTISELECT 0x00000200
27 #define OFN_EXTENSIONDIFFERENT 0x00000400
28 #define OFN_PATHMUSTEXIST 0x00000800
29 #define OFN_FILEMUSTEXIST 0x00001000
30 #define OFN_CREATEPROMPT 0x00002000
31 #define OFN_SHAREAWARE 0x00004000
32 #define OFN_NOREADONLYRETURN 0x00008000
33 #define OFN_NOTESTFILECREATE 0x00010000
34 #define OFN_NONETWORKBUTTON 0x00020000
35 #define OFN_NOLONGNAMES 0x00040000
36 #define OFN_EXPLORER 0x00080000
37 #define OFN_NODEREFERENCELINKS 0x00100000
38 #define OFN_LONGNAMES 0x00200000
40 /* WINE internal flags */
41 #define OFN_UNICODE 0x40000000 /*to differ between 32W/A hook*/
42 #define OFN_WINE 0x80000000 /* comdlg32 */
44 #define OFN_SHAREFALLTHROUGH 2
45 #define OFN_SHARENOWARN 1
46 #define OFN_SHAREWARN 0
48 #define SAVE_DIALOG 1
49 #define OPEN_DIALOG 2
51 typedef UINT16 (CALLBACK *LPOFNHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
52 typedef UINT (CALLBACK *LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
54 typedef struct {
55 DWORD lStructSize;
56 HWND16 hwndOwner;
57 HINSTANCE16 hInstance;
58 SEGPTR lpstrFilter;
59 SEGPTR lpstrCustomFilter;
60 DWORD nMaxCustFilter;
61 DWORD nFilterIndex;
62 SEGPTR lpstrFile;
63 DWORD nMaxFile;
64 SEGPTR lpstrFileTitle;
65 DWORD nMaxFileTitle;
66 SEGPTR lpstrInitialDir;
67 SEGPTR lpstrTitle;
68 DWORD Flags;
69 UINT16 nFileOffset;
70 UINT16 nFileExtension;
71 SEGPTR lpstrDefExt;
72 LPARAM lCustData;
73 LPOFNHOOKPROC16 lpfnHook;
74 SEGPTR lpTemplateName;
75 } OPENFILENAME16,*LPOPENFILENAME16;
77 typedef struct {
78 DWORD lStructSize;
79 HWND hwndOwner;
80 HINSTANCE hInstance;
81 LPCSTR lpstrFilter;
82 LPSTR lpstrCustomFilter;
83 DWORD nMaxCustFilter;
84 DWORD nFilterIndex;
85 LPSTR lpstrFile;
86 DWORD nMaxFile;
87 LPSTR lpstrFileTitle;
88 DWORD nMaxFileTitle;
89 LPCSTR lpstrInitialDir;
90 LPCSTR lpstrTitle;
91 DWORD Flags;
92 WORD nFileOffset;
93 WORD nFileExtension;
94 LPCSTR lpstrDefExt;
95 LPARAM lCustData;
96 LPOFNHOOKPROC lpfnHook;
97 LPCSTR lpTemplateName;
98 } OPENFILENAMEA,*LPOPENFILENAMEA;
100 typedef struct {
101 DWORD lStructSize;
102 HWND hwndOwner;
103 HINSTANCE hInstance;
104 LPCWSTR lpstrFilter;
105 LPWSTR lpstrCustomFilter;
106 DWORD nMaxCustFilter;
107 DWORD nFilterIndex;
108 LPWSTR lpstrFile;
109 DWORD nMaxFile;
110 LPWSTR lpstrFileTitle;
111 DWORD nMaxFileTitle;
112 LPCWSTR lpstrInitialDir;
113 LPCWSTR lpstrTitle;
114 DWORD Flags;
115 WORD nFileOffset;
116 WORD nFileExtension;
117 LPCWSTR lpstrDefExt;
118 LPARAM lCustData;
119 LPOFNHOOKPROC lpfnHook;
120 LPCWSTR lpTemplateName;
121 } OPENFILENAMEW,*LPOPENFILENAMEW;
123 DECL_WINELIB_TYPE_AW(OPENFILENAME)
124 DECL_WINELIB_TYPE_AW(LPOPENFILENAME)
126 typedef struct
128 NMHDR hdr;
129 LPOPENFILENAMEA lpOFN;
130 LPSTR pszFile;
131 } OFNOTIFYA, *LPOFNOTIFYA;
133 typedef struct
135 NMHDR hdr;
136 LPOPENFILENAMEW lpOFN;
137 LPWSTR pszFile;
138 } OFNOTIFYW, *LPOFNOTIFYW;
140 DECL_WINELIB_TYPE_AW(OFNOTIFY)
141 DECL_WINELIB_TYPE_AW(LPOFNOTIFY)
143 typedef UINT16 (CALLBACK *LPCCHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
144 typedef UINT (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
146 typedef struct {
147 DWORD lStructSize;
148 HWND16 hwndOwner;
149 HWND16 hInstance;
150 COLORREF rgbResult;
151 COLORREF *lpCustColors;
152 DWORD Flags;
153 LPARAM lCustData;
154 LPCCHOOKPROC16 lpfnHook;
155 SEGPTR lpTemplateName;
156 } CHOOSECOLOR16;
157 typedef CHOOSECOLOR16 *LPCHOOSECOLOR16;
159 typedef struct {
160 DWORD lStructSize;
161 HWND hwndOwner;
162 HWND hInstance;
163 DWORD rgbResult;
164 LPDWORD lpCustColors;
165 DWORD Flags;
166 DWORD lCustData;
167 LPCCHOOKPROC lpfnHook;
168 LPCSTR lpTemplateName;
169 } CHOOSECOLORA;
170 typedef CHOOSECOLORA *LPCHOOSECOLORA;
172 typedef struct {
173 DWORD lStructSize;
174 HWND hwndOwner;
175 HWND hInstance;
176 DWORD rgbResult;
177 LPDWORD *lpCustColors;
178 DWORD Flags;
179 DWORD lCustData;
180 LPCCHOOKPROC lpfnHook;
181 LPCWSTR lpTemplateName;
182 } CHOOSECOLORW;
183 typedef CHOOSECOLORW *LPCHOOSECOLORW;
185 DECL_WINELIB_TYPE_AW(CHOOSECOLOR)
186 DECL_WINELIB_TYPE_AW(LPCHOOSECOLOR)
189 #define CC_RGBINIT 0x00000001
190 #define CC_FULLOPEN 0x00000002
191 #define CC_PREVENTFULLOPEN 0x00000004
192 #define CC_SHOWHELP 0x00000008
193 #define CC_ENABLEHOOK 0x00000010
194 #define CC_ENABLETEMPLATE 0x00000020
195 #define CC_ENABLETEMPLATEHANDLE 0x00000040
197 typedef UINT16 (CALLBACK *LPFRHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
198 typedef UINT (CALLBACK *LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
200 typedef struct {
201 DWORD lStructSize; /* size of this struct 0x20 */
202 HWND16 hwndOwner; /* handle to owner's window */
203 HINSTANCE16 hInstance; /* instance handle of.EXE that */
204 /* contains cust. dlg. template */
205 DWORD Flags; /* one or more of the FR_?? */
206 SEGPTR lpstrFindWhat; /* ptr. to search string */
207 SEGPTR lpstrReplaceWith; /* ptr. to replace string */
208 UINT16 wFindWhatLen; /* size of find buffer */
209 UINT16 wReplaceWithLen; /* size of replace buffer */
210 LPARAM lCustData; /* data passed to hook fn. */
211 LPFRHOOKPROC16 lpfnHook;
212 SEGPTR lpTemplateName; /* custom template name */
213 } FINDREPLACE16, *LPFINDREPLACE16;
215 typedef struct {
216 DWORD lStructSize;
217 HWND hwndOwner;
218 HINSTANCE hInstance;
220 DWORD Flags;
221 LPSTR lpstrFindWhat;
222 LPSTR lpstrReplaceWith;
223 WORD wFindWhatLen;
224 WORD wReplaceWithLen;
225 LPARAM lCustData;
226 LPFRHOOKPROC lpfnHook;
227 LPCSTR lpTemplateName;
228 } FINDREPLACEA, *LPFINDREPLACEA;
230 typedef struct {
231 DWORD lStructSize;
232 HWND hwndOwner;
233 HINSTANCE hInstance;
235 DWORD Flags;
236 LPWSTR lpstrFindWhat;
237 LPWSTR lpstrReplaceWith;
238 WORD wFindWhatLen;
239 WORD wReplaceWithLen;
240 LPARAM lCustData;
241 LPFRHOOKPROC lpfnHook;
242 LPCWSTR lpTemplateName;
243 } FINDREPLACEW, *LPFINDREPLACEW;
245 DECL_WINELIB_TYPE_AW(FINDREPLACE)
246 DECL_WINELIB_TYPE_AW(LPFINDREPLACE)
248 #define FR_DOWN 0x00000001
249 #define FR_WHOLEWORD 0x00000002
250 #define FR_MATCHCASE 0x00000004
251 #define FR_FINDNEXT 0x00000008
252 #define FR_REPLACE 0x00000010
253 #define FR_REPLACEALL 0x00000020
254 #define FR_DIALOGTERM 0x00000040
255 #define FR_SHOWHELP 0x00000080
256 #define FR_ENABLEHOOK 0x00000100
257 #define FR_ENABLETEMPLATE 0x00000200
258 #define FR_NOUPDOWN 0x00000400
259 #define FR_NOMATCHCASE 0x00000800
260 #define FR_NOWHOLEWORD 0x00001000
261 #define FR_ENABLETEMPLATEHANDLE 0x00002000
262 #define FR_HIDEUPDOWN 0x00004000
263 #define FR_HIDEMATCHCASE 0x00008000
264 #define FR_HIDEWHOLEWORD 0x00010000
266 typedef UINT16 (CALLBACK *LPCFHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
267 typedef UINT (CALLBACK *LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
269 typedef struct
271 DWORD lStructSize;
272 HWND16 hwndOwner; /* caller's window handle */
273 HDC16 hDC; /* printer DC/IC or NULL */
274 SEGPTR lpLogFont; /* ptr. to a LOGFONT struct */
275 short iPointSize; /* 10 * size in points of selected font */
276 DWORD Flags; /* enum. type flags */
277 COLORREF rgbColors; /* returned text color */
278 LPARAM lCustData; /* data passed to hook fn. */
279 LPCFHOOKPROC16 lpfnHook;
280 SEGPTR lpTemplateName; /* custom template name */
281 HINSTANCE16 hInstance; /* instance handle of.EXE that */
282 /* contains cust. dlg. template */
283 SEGPTR lpszStyle; /* return the style field here */
284 /* must be LF_FACESIZE or bigger */
285 UINT16 nFontType; /* same value reported to the */
286 /* EnumFonts callback with the */
287 /* extra FONTTYPE_ bits added */
288 short nSizeMin; /* minimum pt size allowed & */
289 short nSizeMax; /* max pt size allowed if */
290 /* CF_LIMITSIZE is used */
291 } CHOOSEFONT16, *LPCHOOSEFONT16;
294 typedef struct
296 UINT lStructSize;
297 HWND hwndOwner;
298 HDC hDC;
299 LPLOGFONTA lpLogFont;
300 INT iPointSize;
301 DWORD Flags;
302 COLORREF rgbColors;
303 LPARAM lCustData;
304 LPCFHOOKPROC lpfnHook;
305 LPCSTR lpTemplateName;
306 HINSTANCE hInstance;
307 LPSTR lpszStyle;
308 UINT16 nFontType;
309 UINT16 ___MISSING_ALIGNMENT__;
310 INT nSizeMin;
311 INT nSizeMax;
312 } CHOOSEFONTA, *LPCHOOSEFONTA;
314 typedef struct
316 UINT lStructSize;
317 HWND hwndOwner;
318 HDC hDC;
319 LPLOGFONTW lpLogFont;
320 INT iPointSize;
321 DWORD Flags;
322 COLORREF rgbColors;
323 LPARAM lCustData;
324 LPCFHOOKPROC lpfnHook;
325 LPCWSTR lpTemplateName;
326 HINSTANCE hInstance;
327 LPWSTR lpszStyle;
328 UINT16 nFontType;
329 UINT16 ___MISSING_ALIGNMENT__;
330 INT nSizeMin;
331 INT nSizeMax;
332 } CHOOSEFONTW, *LPCHOOSEFONTW;
334 DECL_WINELIB_TYPE_AW(CHOOSEFONT)
335 DECL_WINELIB_TYPE_AW(LPCHOOSEFONT)
337 #define CF_SCREENFONTS 0x00000001
338 #define CF_PRINTERFONTS 0x00000002
339 #define CF_BOTH (CF_SCREENFONTS | CF_PRINTERFONTS)
340 #define CF_SHOWHELP 0x00000004L
341 #define CF_ENABLEHOOK 0x00000008L
342 #define CF_ENABLETEMPLATE 0x00000010L
343 #define CF_ENABLETEMPLATEHANDLE 0x00000020L
344 #define CF_INITTOLOGFONTSTRUCT 0x00000040L
345 #define CF_USESTYLE 0x00000080L
346 #define CF_EFFECTS 0x00000100L
347 #define CF_APPLY 0x00000200L
348 #define CF_ANSIONLY 0x00000400L
349 #define CF_SCRIPTSONLY CF_ANSIONLY
350 #define CF_NOVECTORFONTS 0x00000800L
351 #define CF_NOOEMFONTS CF_NOVECTORFONTS
352 #define CF_NOSIMULATIONS 0x00001000L
353 #define CF_LIMITSIZE 0x00002000L
354 #define CF_FIXEDPITCHONLY 0x00004000L
355 #define CF_WYSIWYG 0x00008000L /* use with CF_SCREENFONTS & CF_PRINTERFONTS */
356 #define CF_FORCEFONTEXIST 0x00010000L
357 #define CF_SCALABLEONLY 0x00020000L
358 #define CF_TTONLY 0x00040000L
359 #define CF_NOFACESEL 0x00080000L
360 #define CF_NOSTYLESEL 0x00100000L
361 #define CF_NOSIZESEL 0x00200000L
362 #define CF_SELECTSCRIPT 0x00400000L
363 #define CF_NOSCRIPTSEL 0x00800000L
364 #define CF_NOVERTFONTS 0x01000000L
366 #define SIMULATED_FONTTYPE 0x8000
367 #define PRINTER_FONTTYPE 0x4000
368 #define SCREEN_FONTTYPE 0x2000
369 #define BOLD_FONTTYPE 0x0100
370 #define ITALIC_FONTTYPE 0x0200
371 #define REGULAR_FONTTYPE 0x0400
373 #define WM_CHOOSEFONT_GETLOGFONT (WM_USER + 1)
374 #define WM_CHOOSEFONT_SETLOGFONT (WM_USER + 101)
375 #define WM_CHOOSEFONT_SETFLAGS (WM_USER + 102)
377 #define LBSELCHSTRING "commdlg_LBSelChangedNotify"
378 #define SHAREVISTRING "commdlg_ShareViolation"
379 #define FILEOKSTRING "commdlg_FileNameOK"
380 #define COLOROKSTRING "commdlg_ColorOK"
381 #define SETRGBSTRING "commdlg_SetRGBColor"
382 #define FINDMSGSTRING "commdlg_FindReplace"
383 #define HELPMSGSTRING "commdlg_help"
385 #define CD_LBSELNOITEMS -1
386 #define CD_LBSELCHANGE 0
387 #define CD_LBSELSUB 1
388 #define CD_LBSELADD 2
390 #define CDN_FIRST (0U-601U)
391 #define CDN_LAST (0U-699U)
393 #define CDN_INITDONE (CDN_FIRST - 0x0000)
394 #define CDN_SELCHANGE (CDN_FIRST - 0x0001)
395 #define CDN_FOLDERCHANGE (CDN_FIRST - 0x0002)
396 #define CDN_SHAREVIOLATION (CDN_FIRST - 0x0003)
397 #define CDN_HELP (CDN_FIRST - 0x0004)
398 #define CDN_FILEOK (CDN_FIRST - 0x0005)
399 #define CDN_TYPECHANGE (CDN_FIRST - 0x0006)
401 #define CDM_FIRST (WM_USER + 100)
402 #define CDM_LAST (WM_USER + 200)
404 #define CDM_GETSPEC (CDM_FIRST + 0x0000)
405 #define CDM_GETFILEPATH (CDM_FIRST + 0x0001)
406 #define CDM_GETFOLDERPATH (CDM_FIRST + 0x0002)
407 #define CDM_GETFOLDERLIST (CDM_FIRST + 0x0003)
408 #define CDM_SETCONTROLTEXT (CDM_FIRST + 0x0004)
409 #define CDM_HIDECONTROL (CDM_FIRST + 0x0005)
410 #define CDM_SETDEFEXT (CDM_FIRST + 0x0006)
413 /* Messages to query information from the open or save dialogs */
415 #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
416 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
417 #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
418 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
419 #define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)
421 #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
422 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
423 #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
424 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
425 #define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)
427 #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
428 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
429 #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
430 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
431 #define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)
433 #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
434 (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
436 #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
437 (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
439 #define CommDlg_OpenSave_HideControl(_hdlg, _id) \
440 (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
442 #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
443 (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
446 typedef UINT16 (CALLBACK *LPPRINTHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
447 typedef UINT (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
449 typedef UINT16 (CALLBACK *LPSETUPHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
450 typedef UINT (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
452 typedef struct
454 DWORD lStructSize;
455 HWND16 hwndOwner;
456 HGLOBAL16 hDevMode;
457 HGLOBAL16 hDevNames;
458 HDC16 hDC;
459 DWORD Flags;
460 WORD nFromPage;
461 WORD nToPage;
462 WORD nMinPage;
463 WORD nMaxPage;
464 WORD nCopies;
465 HINSTANCE16 hInstance;
466 LPARAM lCustData;
467 LPPRINTHOOKPROC16 lpfnPrintHook;
468 LPSETUPHOOKPROC16 lpfnSetupHook;
469 SEGPTR lpPrintTemplateName;
470 SEGPTR lpSetupTemplateName;
471 HGLOBAL16 hPrintTemplate;
472 HGLOBAL16 hSetupTemplate;
473 } PRINTDLG16, *LPPRINTDLG16;
475 typedef struct tagPDA
477 DWORD lStructSize;
478 HWND hwndOwner;
479 HGLOBAL hDevMode;
480 HGLOBAL hDevNames;
481 HDC hDC;
482 DWORD Flags;
483 WORD nFromPage;
484 WORD nToPage;
485 WORD nMinPage;
486 WORD nMaxPage;
487 WORD nCopies;
488 HINSTANCE hInstance;
489 LPARAM lCustData;
490 LPPRINTHOOKPROC lpfnPrintHook;
491 LPSETUPHOOKPROC lpfnSetupHook;
492 LPCSTR lpPrintTemplateName;
493 LPCSTR lpSetupTemplateName;
494 HGLOBAL hPrintTemplate;
495 HGLOBAL hSetupTemplate;
496 } PRINTDLGA, *LPPRINTDLGA;
498 typedef struct tagPDW
500 DWORD lStructSize;
501 HWND hwndOwner;
502 HGLOBAL hDevMode;
503 HGLOBAL hDevNames;
504 HDC hDC;
505 DWORD Flags;
506 WORD nFromPage;
507 WORD nToPage;
508 WORD nMinPage;
509 WORD nMaxPage;
510 WORD nCopies;
511 HINSTANCE hInstance;
512 LPARAM lCustData;
513 LPPRINTHOOKPROC lpfnPrintHook;
514 LPSETUPHOOKPROC lpfnSetupHook;
515 LPCWSTR lpPrintTemplateName;
516 LPCWSTR lpSetupTemplateName;
517 HGLOBAL hPrintTemplate;
518 HGLOBAL hSetupTemplate;
519 } PRINTDLGW, *LPPRINTDLGW;
521 DECL_WINELIB_TYPE_AW(PRINTDLG)
522 DECL_WINELIB_TYPE_AW(LPPRINTDLG)
524 #define PD_ALLPAGES 0x00000000
525 #define PD_SELECTION 0x00000001
526 #define PD_PAGENUMS 0x00000002
527 #define PD_NOSELECTION 0x00000004
528 #define PD_NOPAGENUMS 0x00000008
529 #define PD_COLLATE 0x00000010
530 #define PD_PRINTTOFILE 0x00000020
531 #define PD_PRINTSETUP 0x00000040
532 #define PD_NOWARNING 0x00000080
533 #define PD_RETURNDC 0x00000100
534 #define PD_RETURNIC 0x00000200
535 #define PD_RETURNDEFAULT 0x00000400
536 #define PD_SHOWHELP 0x00000800
537 #define PD_ENABLEPRINTHOOK 0x00001000
538 #define PD_ENABLESETUPHOOK 0x00002000
539 #define PD_ENABLEPRINTTEMPLATE 0x00004000
540 #define PD_ENABLESETUPTEMPLATE 0x00008000
541 #define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
542 #define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
543 #define PD_USEDEVMODECOPIES 0x00040000
544 #define PD_USEDEVMODECOPIESANDCOLLATE 0x00040000
545 #define PD_DISABLEPRINTTOFILE 0x00080000
546 #define PD_HIDEPRINTTOFILE 0x00100000
548 typedef struct {
549 UINT16 wDriverOffset;
550 UINT16 wDeviceOffset;
551 UINT16 wOutputOffset;
552 UINT16 wDefault;
553 } DEVNAMES;
554 typedef DEVNAMES * LPDEVNAMES;
556 #define DN_DEFAULTPRN 0x0001
558 /* PageSetupDlg stuff ... */
559 #define WM_PSD_PAGESETUPDLG (WM_USER )
560 #define WM_PSD_FULLPAGERECT (WM_USER+1)
561 #define WM_PSD_MINMARGINRECT (WM_USER+2)
562 #define WM_PSD_MARGINRECT (WM_USER+3)
563 #define WM_PSD_GREEKTEXTRECT (WM_USER+4)
564 #define WM_PSD_ENVSTAMPRECT (WM_USER+5)
565 #define WM_PSD_YAFULLPAGERECT (WM_USER+6)
567 typedef UINT (CALLBACK* LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
568 typedef UINT (CALLBACK* LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
570 typedef struct tagPSDA
572 DWORD lStructSize;
573 HWND hwndOwner;
574 HGLOBAL hDevMode;
575 HGLOBAL hDevNames;
576 DWORD Flags;
577 POINT ptPaperSize;
578 RECT rtMinMargin;
579 RECT rtMargin;
580 HINSTANCE hInstance;
581 LPARAM lCustData;
582 LPPAGESETUPHOOK lpfnPageSetupHook;
583 LPPAGEPAINTHOOK lpfnPagePaintHook;
584 LPCSTR lpPageSetupTemplateName;
585 HGLOBAL hPageSetupTemplate;
586 } PAGESETUPDLGA,*LPPAGESETUPDLGA;
588 typedef struct tagPSDW
590 DWORD lStructSize;
591 HWND hwndOwner;
592 HGLOBAL hDevMode;
593 HGLOBAL hDevNames;
594 DWORD Flags;
595 POINT ptPaperSize;
596 RECT rtMinMargin;
597 RECT rtMargin;
598 HINSTANCE hInstance;
599 LPARAM lCustData;
600 LPPAGESETUPHOOK lpfnPageSetupHook;
601 LPPAGEPAINTHOOK lpfnPagePaintHook;
602 LPCWSTR lpPageSetupTemplateName;
603 HGLOBAL hPageSetupTemplate;
604 } PAGESETUPDLGW,*LPPAGESETUPDLGW;
605 DECL_WINELIB_TYPE_AW(PAGESETUPDLG)
606 DECL_WINELIB_TYPE_AW(LPPAGESETUPDLG)
608 #define PSD_DEFAULTMINMARGINS 0x00000000
609 #define PSD_INWININIINTLMEASURE 0x00000000
611 #define PSD_MINMARGINS 0x00000001
612 #define PSD_MARGINS 0x00000002
613 #define PSD_INTHOUSANDTHSOFINCHES 0x00000004
614 #define PSD_INHUNDREDTHSOFMILLIMETERS 0x00000008
615 #define PSD_DISABLEMARGINS 0x00000010
616 #define PSD_DISABLEPRINTER 0x00000020
617 #define PSD_NOWARNING 0x00000080
618 #define PSD_DISABLEORIENTATION 0x00000100
619 #define PSD_RETURNDEFAULT 0x00000400
620 #define PSD_DISABLEPAPER 0x00000200
621 #define PSD_SHOWHELP 0x00000800
622 #define PSD_ENABLEPAGESETUPHOOK 0x00002000
623 #define PSD_ENABLEPAGESETUPTEMPLATE 0x00008000
624 #define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000
625 #define PSD_ENABLEPAGEPAINTHOOK 0x00040000
626 #define PSD_DISABLEPAGEPAINTING 0x00080000
628 BOOL16 WINAPI ChooseColor16(LPCHOOSECOLOR16 lpChCol);
629 BOOL WINAPI ChooseColorA(LPCHOOSECOLORA lpChCol);
630 BOOL WINAPI ChooseColorW(LPCHOOSECOLORW lpChCol);
631 #define ChooseColor WINELIB_NAME_AW(ChooseColor)
632 DWORD WINAPI CommDlgExtendedError(void);
633 HWND16 WINAPI FindText16( SEGPTR find);
634 HWND WINAPI FindTextA(LPFINDREPLACEA lpFind);
635 HWND WINAPI FindTextW(LPFINDREPLACEW lpFind);
636 #define FindText WINELIB_NAME_AW(FindText)
637 INT16 WINAPI GetFileTitle16(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf);
638 INT16 WINAPI GetFileTitleA(LPCSTR lpFile, LPSTR lpTitle, UINT cbBuf);
639 INT16 WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, UINT cbBuf);
640 #define GetFileTitle WINELIB_NAME_AW(GetFileTitle)
641 BOOL16 WINAPI GetOpenFileName16(SEGPTR ofn);
642 BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA ofn);
643 BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW ofn);
644 BOOL WINAPI GetFileDialog95A(LPOPENFILENAMEA ofn,UINT iDlgType);
645 BOOL WINAPI GetFileDialog95W(LPOPENFILENAMEW ofn,UINT iDlgType);
646 #define GetOpenFileName WINELIB_NAME_AW(GetOpenFileName)
647 BOOL16 WINAPI GetSaveFileName16(SEGPTR ofn);
648 BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA ofn);
649 BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn);
650 #define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
651 BOOL WINAPI PageSetupDlgA( LPPAGESETUPDLGA );
652 BOOL WINAPI PageSetupDlgW( LPPAGESETUPDLGW );
653 #define PageSetupDlg WINELIB_NAME_AW(PageSetupDlg)
654 BOOL16 WINAPI PrintDlg16( LPPRINTDLG16 print);
655 BOOL WINAPI PrintDlgA( LPPRINTDLGA printdlg);
656 BOOL WINAPI PrintDlgW( LPPRINTDLGW printdlg);
657 #define PrintDlg WINELIB_NAME_AW(PrintDlg)
658 HWND16 WINAPI ReplaceText16( SEGPTR find);
659 HWND WINAPI ReplaceTextA( LPFINDREPLACEA lpFind);
660 HWND WINAPI ReplaceTextW( LPFINDREPLACEW lpFind);
661 #define ReplaceText WINELIB_NAME_AW(ReplaceText)
662 BOOL16 WINAPI ChooseFont16(LPCHOOSEFONT16);
663 BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
664 BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
665 #define ChooseFont WINELIB_NAME_AW(ChooseFont)
666 LRESULT WINAPI FileOpenDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
667 LRESULT WINAPI FileSaveDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
668 LRESULT WINAPI ColorDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
669 LRESULT WINAPI FindTextDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
670 LRESULT WINAPI ReplaceTextDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
671 LRESULT WINAPI PrintDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
672 LRESULT WINAPI PrintDlgProcA(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
673 LRESULT WINAPI PrintDlgProcW(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
674 LRESULT WINAPI PrintSetupDlgProc16(HWND16 hWnd, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
675 LRESULT WINAPI FormatCharDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
676 LRESULT WINAPI FormatCharDlgProcA(HWND,UINT,WPARAM,LPARAM);
677 LRESULT WINAPI FormatCharDlgProcW(HWND,UINT,WPARAM,LPARAM);
678 #define FormatCharDlgProc WINELIB_NAME_AW(FormatCharDlgProc)
680 void COMDLG32_SetCommDlgExtendedError(DWORD err);
683 #include "poppack.h"
685 #ifdef __cplusplus
687 #endif
689 #endif /* __WINE_COMMDLG_H */