OSDN Git Service

* NEWS: Add and adjust release notes for 4.0.
[mingw/mingw-org-wsl.git] / include / commdlg.h
1 /**
2  * @file commdlg.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _COMMDLG_H
25 #define _COMMDLG_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 #pragma pack(push,1)
33
34 #define LBSELCHSTRINGA  "commdlg_LBSelChangedNotify"
35 #define SHAREVISTRINGA  "commdlg_ShareViolation"
36 #define FILEOKSTRINGA   "commdlg_FileNameOK"
37 #define COLOROKSTRINGA  "commdlg_ColorOK"
38 #define SETRGBSTRINGA   "commdlg_SetRGBColor"
39 #define HELPMSGSTRINGA  "commdlg_help"
40 #define FINDMSGSTRINGA  "commdlg_FindReplace"
41 #define LBSELCHSTRINGW  L"commdlg_LBSelChangedNotify"
42 #define SHAREVISTRINGW  L"commdlg_ShareViolation"
43 #define FILEOKSTRINGW   L"commdlg_FileNameOK"
44 #define COLOROKSTRINGW  L"commdlg_ColorOK"
45 #define SETRGBSTRINGW   L"commdlg_SetRGBColor"
46 #define HELPMSGSTRINGW  L"commdlg_help"
47 #define FINDMSGSTRINGW  L"commdlg_FindReplace"
48 #ifndef CDN_FIRST
49 #define CDN_FIRST       ((UINT)-601) /* also in commctrl.h */
50 #define CDN_LAST        ((UINT)-699)
51 #endif
52 #define CDN_INITDONE    CDN_FIRST
53 #define CDN_SELCHANGE   (CDN_FIRST-1U)
54 #define CDN_FOLDERCHANGE        (CDN_FIRST-2U)
55 #define CDN_SHAREVIOLATION      (CDN_FIRST-3U)
56 #define CDN_HELP        (CDN_FIRST-4U)
57 #define CDN_FILEOK      (CDN_FIRST-5U)
58 #define CDN_TYPECHANGE  (CDN_FIRST-6U)
59 #define CDM_FIRST       (WM_USER+100)
60 #define CDM_LAST        (WM_USER+200)
61 #define CDM_GETSPEC     CDM_FIRST
62 #define CDM_GETFILEPATH (CDM_FIRST+1)
63 #define CDM_GETFOLDERPATH (CDM_FIRST+2)
64 #define CDM_GETFOLDERIDLIST     (CDM_FIRST+3)
65 #define CDM_SETCONTROLTEXT      (CDM_FIRST+4)
66 #define CDM_HIDECONTROL (CDM_FIRST+5)
67 #define CDM_SETDEFEXT   (CDM_FIRST+6)
68 #define CC_RGBINIT      1
69 #define CC_FULLOPEN     2
70 #define CC_PREVENTFULLOPEN      4
71 #define CC_SHOWHELP     8
72 #define CC_ENABLEHOOK   16
73 #define CC_ENABLETEMPLATE       32
74 #define CC_ENABLETEMPLATEHANDLE 64
75 #define CC_SOLIDCOLOR   128
76 #define CC_ANYCOLOR     256
77 #define CF_SCREENFONTS  1
78 #define CF_PRINTERFONTS 2
79 #define CF_BOTH 3
80 #define CF_SHOWHELP     4
81 #define CF_ENABLEHOOK   8
82 #define CF_ENABLETEMPLATE       16
83 #define CF_ENABLETEMPLATEHANDLE 32
84 #define CF_INITTOLOGFONTSTRUCT  64
85 #define CF_USESTYLE     128
86 #define CF_EFFECTS      256
87 #define CF_APPLY        512
88 #define CF_ANSIONLY     1024
89 #define CF_SCRIPTSONLY  CF_ANSIONLY
90 #define CF_NOVECTORFONTS        2048
91 #define CF_NOOEMFONTS   2048
92 #define CF_NOSIMULATIONS        4096
93 #define CF_LIMITSIZE    8192
94 #define CF_FIXEDPITCHONLY       16384
95 #define CF_WYSIWYG      32768
96 #define CF_FORCEFONTEXIST       65536
97 #define CF_SCALABLEONLY 131072
98 #define CF_TTONLY       262144
99 #define CF_NOFACESEL     524288
100 #define CF_NOSTYLESEL    1048576
101 #define CF_NOSIZESEL     2097152
102 #define CF_SELECTSCRIPT  4194304
103 #define CF_NOSCRIPTSEL   8388608
104 #define CF_NOVERTFONTS  0x1000000
105 #define SIMULATED_FONTTYPE      0x8000
106 #define PRINTER_FONTTYPE        0x4000
107 #define SCREEN_FONTTYPE 0x2000
108 #define BOLD_FONTTYPE   0x100
109 #define ITALIC_FONTTYPE 0x0200
110 #define REGULAR_FONTTYPE        0x0400
111 #define WM_CHOOSEFONT_GETLOGFONT        (WM_USER+1)
112 #define WM_CHOOSEFONT_SETLOGFONT        (WM_USER+101)
113 #define WM_CHOOSEFONT_SETFLAGS  (WM_USER+102)
114 #define OFN_ALLOWMULTISELECT 512
115 #define OFN_CREATEPROMPT 0x2000
116 #define OFN_ENABLEHOOK 32
117 #define OFN_ENABLESIZING 0x800000
118 #define OFN_ENABLETEMPLATE 64
119 #define OFN_ENABLETEMPLATEHANDLE 128
120 #define OFN_EXPLORER 0x80000
121 #define OFN_EXTENSIONDIFFERENT 0x400
122 #define OFN_FILEMUSTEXIST 0x1000
123 #define OFN_HIDEREADONLY 4
124 #define OFN_LONGNAMES 0x200000
125 #define OFN_NOCHANGEDIR 8
126 #define OFN_NODEREFERENCELINKS 0x100000
127 #define OFN_NOLONGNAMES 0x40000
128 #define OFN_NONETWORKBUTTON 0x20000
129 #define OFN_NOREADONLYRETURN 0x8000
130 #define OFN_NOTESTFILECREATE 0x10000
131 #define OFN_NOVALIDATE 256
132 #define OFN_OVERWRITEPROMPT 2
133 #define OFN_PATHMUSTEXIST 0x800
134 #define OFN_READONLY 1
135 #define OFN_SHAREAWARE 0x4000
136 #define OFN_SHOWHELP 16
137 #define OFN_SHAREFALLTHROUGH 2
138 #define OFN_SHARENOWARN 1
139 #define OFN_SHAREWARN 0
140 #define OFN_NODEREFERENCELINKS 0x100000
141 #define FR_DIALOGTERM 64
142 #define FR_DOWN 1
143 #define FR_ENABLEHOOK 256
144 #define FR_ENABLETEMPLATE 512
145 #define FR_ENABLETEMPLATEHANDLE 0x2000
146 #define FR_FINDNEXT 8
147 #define FR_HIDEUPDOWN 0x4000
148 #define FR_HIDEMATCHCASE 0x8000
149 #define FR_HIDEWHOLEWORD 0x10000
150 #define FR_MATCHALEFHAMZA       0x80000000
151 #define FR_MATCHCASE 4
152 #define FR_MATCHDIAC    0x20000000
153 #define FR_MATCHKASHIDA 0x40000000
154 #define FR_NOMATCHCASE 0x800
155 #define FR_NOUPDOWN 0x400
156 #define FR_NOWHOLEWORD 4096
157 #define FR_REPLACE 16
158 #define FR_REPLACEALL 32
159 #define FR_SHOWHELP 128
160 #define FR_WHOLEWORD 2
161 #define PD_ALLPAGES     0x00000000
162 #define PD_SELECTION    0x00000001
163 #define PD_PAGENUMS     0x00000002
164 #define PD_NOSELECTION  0x00000004
165 #define PD_NOPAGENUMS   0x00000008
166 #define PD_COLLATE      0x00000010
167 #define PD_PRINTTOFILE  0x00000020
168 #define PD_PRINTSETUP   0x00000040
169 #define PD_NOWARNING    0x00000080
170 #define PD_RETURNDC     0x00000100
171 #define PD_RETURNIC     0x00000200
172 #define PD_RETURNDEFAULT        0x00000400
173 #define PD_SHOWHELP     0x00000800
174 #define PD_ENABLEPRINTHOOK      0x00001000
175 #define PD_ENABLESETUPHOOK      0x00002000
176 #define PD_ENABLEPRINTTEMPLATE  0x00004000
177 #define PD_ENABLESETUPTEMPLATE 0x00008000
178 #define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
179 #define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
180 #define PD_USEDEVMODECOPIES     0x00040000
181 #define PD_USEDEVMODECOPIESANDCOLLATE   0x00040000
182 #define PD_DISABLEPRINTTOFILE   0x00080000
183 #define PD_HIDEPRINTTOFILE      0x00100000
184 #define PD_NONETWORKBUTTON      0x00200000
185 #define PSD_DEFAULTMINMARGINS   0
186 #define PSD_INWININIINTLMEASURE 0
187 #define PSD_MINMARGINS  1
188 #define PSD_MARGINS     2
189 #define PSD_INTHOUSANDTHSOFINCHES       4
190 #define PSD_INHUNDREDTHSOFMILLIMETERS   8
191 #define PSD_DISABLEMARGINS      16
192 #define PSD_DISABLEPRINTER      32
193 #define PSD_NOWARNING   128
194 #define PSD_DISABLEORIENTATION  256
195 #define PSD_DISABLEPAPER        512
196 #define PSD_RETURNDEFAULT       1024
197 #define PSD_SHOWHELP    2048
198 #define PSD_ENABLEPAGESETUPHOOK 8192
199 #define PSD_ENABLEPAGESETUPTEMPLATE     0x8000
200 #define PSD_ENABLEPAGESETUPTEMPLATEHANDLE       0x20000
201 #define PSD_ENABLEPAGEPAINTHOOK 0x40000
202 #define PSD_DISABLEPAGEPAINTING 0x80000
203 #define WM_PSD_PAGESETUPDLG     WM_USER
204 #define WM_PSD_FULLPAGERECT     (WM_USER+1)
205 #define WM_PSD_MINMARGINRECT    (WM_USER+2)
206 #define WM_PSD_MARGINRECT       (WM_USER+3)
207 #define WM_PSD_GREEKTEXTRECT    (WM_USER+4)
208 #define WM_PSD_ENVSTAMPRECT     (WM_USER+5)
209 #define WM_PSD_YAFULLPAGERECT   (WM_USER+6)
210 #define CD_LBSELNOITEMS (-1)
211 #define CD_LBSELCHANGE   0
212 #define CD_LBSELSUB      1
213 #define CD_LBSELADD      2
214 #define DN_DEFAULTPRN   1
215
216 #ifndef SNDMSG
217 #ifdef __cplusplus
218 #define SNDMSG ::SendMessage
219 #else
220 #define SNDMSG SendMessage
221 #endif
222 #endif /* ifndef SNDMSG */
223
224 #define CommDlg_OpenSave_GetSpec(d,s,m) ((int)SNDMSG((d),CDM_GETSPEC,(m),(LPARAM)(s)))
225 #define CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpec
226 #define CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_GetSpec
227 #define CommDlg_OpenSave_GetFilePath(d,s,m) ((int)SNDMSG((d),CDM_GETFILEPATH,(m),(LPARAM)(s)))
228 #define CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePath
229 #define CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFilePath
230 #define CommDlg_OpenSave_GetFolderPath(d,s,m) ((int)SNDMSG((d),CDM_GETFOLDERPATH,(m),(LPARAM)(LPSTR)(s)))
231 #define CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPath
232 #define CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetFolderPath
233 #define CommDlg_OpenSave_GetFolderIDList(d,i,m) ((int)SNDMSG((d),CDM_GETFOLDERIDLIST,(m),(LPARAM)(i)))
234 #define CommDlg_OpenSave_SetControlText(d,i,t) ((void)SNDMSG((d),CDM_SETCONTROLTEXT,(i),(LPARAM)(t)))
235 #define CommDlg_OpenSave_HideControl(d,i) ((void)SNDMSG((d),CDM_HIDECONTROL,(i),0))
236 #define CommDlg_OpenSave_SetDefExt(d,e) ((void)SNDMSG((d),CDM_SETDEFEXT,0,(LPARAM)(e)))
237
238 typedef UINT (APIENTRY *__CDHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
239 typedef __CDHOOKPROC LPCCHOOKPROC;
240 typedef __CDHOOKPROC LPCFHOOKPROC;
241 typedef __CDHOOKPROC LPFRHOOKPROC;
242 typedef __CDHOOKPROC LPOFNHOOKPROC;
243 typedef __CDHOOKPROC LPPAGEPAINTHOOK;
244 typedef __CDHOOKPROC LPPAGESETUPHOOK;
245 typedef __CDHOOKPROC LPSETUPHOOKPROC;
246 typedef __CDHOOKPROC LPPRINTHOOKPROC;
247 typedef struct tagCHOOSECOLORA {
248         DWORD   lStructSize;
249         HWND    hwndOwner;
250         HWND    hInstance;
251         COLORREF        rgbResult;
252         COLORREF*       lpCustColors;
253         DWORD   Flags;
254         LPARAM  lCustData;
255         LPCCHOOKPROC    lpfnHook;
256         LPCSTR  lpTemplateName;
257 } CHOOSECOLORA,*LPCHOOSECOLORA;
258 typedef struct tagCHOOSECOLORW {
259         DWORD   lStructSize;
260         HWND    hwndOwner;
261         HWND    hInstance;
262         COLORREF        rgbResult;
263         COLORREF*       lpCustColors;
264         DWORD   Flags;
265         LPARAM  lCustData;
266         LPCCHOOKPROC    lpfnHook;
267         LPCWSTR lpTemplateName;
268 } CHOOSECOLORW,*LPCHOOSECOLORW;
269 typedef struct tagCHOOSEFONTA {
270         DWORD   lStructSize;
271         HWND    hwndOwner;
272         HDC     hDC;
273         LPLOGFONTA      lpLogFont;
274         INT     iPointSize;
275         DWORD   Flags;
276         DWORD   rgbColors;
277         LPARAM  lCustData;
278         LPCFHOOKPROC    lpfnHook;
279         LPCSTR  lpTemplateName;
280         HINSTANCE       hInstance;
281         LPSTR   lpszStyle;
282         WORD    nFontType;
283         WORD    ___MISSING_ALIGNMENT__;
284         INT     nSizeMin;
285         INT     nSizeMax;
286 } CHOOSEFONTA,*LPCHOOSEFONTA;
287 typedef struct tagCHOOSEFONTW {
288         DWORD   lStructSize;
289         HWND    hwndOwner;
290         HDC     hDC;
291         LPLOGFONTW      lpLogFont;
292         INT     iPointSize;
293         DWORD   Flags;
294         DWORD   rgbColors;
295         LPARAM  lCustData;
296         LPCFHOOKPROC    lpfnHook;
297         LPCWSTR lpTemplateName;
298         HINSTANCE       hInstance;
299         LPWSTR  lpszStyle;
300         WORD    nFontType;
301         WORD    ___MISSING_ALIGNMENT__;
302         INT     nSizeMin;
303         INT     nSizeMax;
304 } CHOOSEFONTW,*LPCHOOSEFONTW;
305 typedef struct tagDEVNAMES {
306         WORD wDriverOffset;
307         WORD wDeviceOffset;
308         WORD wOutputOffset;
309         WORD wDefault;
310 } DEVNAMES,*LPDEVNAMES;
311 typedef struct {
312         DWORD lStructSize;
313         HWND hwndOwner;
314         HINSTANCE hInstance;
315         DWORD Flags;
316         LPSTR lpstrFindWhat;
317         LPSTR lpstrReplaceWith;
318         WORD wFindWhatLen;
319         WORD wReplaceWithLen;
320         LPARAM lCustData;
321         LPFRHOOKPROC lpfnHook;
322         LPCSTR lpTemplateName;
323 } FINDREPLACEA,*LPFINDREPLACEA;
324 typedef struct {
325         DWORD lStructSize;
326         HWND hwndOwner;
327         HINSTANCE hInstance;
328         DWORD Flags;
329         LPWSTR lpstrFindWhat;
330         LPWSTR lpstrReplaceWith;
331         WORD wFindWhatLen;
332         WORD wReplaceWithLen;
333         LPARAM lCustData;
334         LPFRHOOKPROC lpfnHook;
335         LPCWSTR lpTemplateName;
336 } FINDREPLACEW,*LPFINDREPLACEW;
337 typedef struct tagOFNA {
338         DWORD lStructSize;
339         HWND hwndOwner;
340         HINSTANCE hInstance;
341         LPCSTR lpstrFilter;
342         LPSTR lpstrCustomFilter;
343         DWORD nMaxCustFilter;
344         DWORD nFilterIndex;
345         LPSTR lpstrFile;
346         DWORD nMaxFile;
347         LPSTR lpstrFileTitle;
348         DWORD nMaxFileTitle;
349         LPCSTR lpstrInitialDir;
350         LPCSTR lpstrTitle;
351         DWORD Flags;
352         WORD nFileOffset;
353         WORD nFileExtension;
354         LPCSTR lpstrDefExt;
355         DWORD lCustData;
356         LPOFNHOOKPROC lpfnHook;
357         LPCSTR lpTemplateName;
358 #if (_WIN32_WINNT >= 0x0500)
359         void * pvReserved;
360         DWORD dwReserved;
361         DWORD FlagsEx;
362 #endif /* (_WIN32_WINNT >= 0x0500) */
363 } OPENFILENAMEA,*LPOPENFILENAMEA;
364 typedef struct tagOFNW {
365         DWORD lStructSize;
366         HWND hwndOwner;
367         HINSTANCE hInstance;
368         LPCWSTR lpstrFilter;
369         LPWSTR lpstrCustomFilter;
370         DWORD nMaxCustFilter;
371         DWORD nFilterIndex;
372         LPWSTR lpstrFile;
373         DWORD nMaxFile;
374         LPWSTR lpstrFileTitle;
375         DWORD nMaxFileTitle;
376         LPCWSTR lpstrInitialDir;
377         LPCWSTR lpstrTitle;
378         DWORD Flags;
379         WORD nFileOffset;
380         WORD nFileExtension;
381         LPCWSTR lpstrDefExt;
382         DWORD lCustData;
383         LPOFNHOOKPROC lpfnHook;
384         LPCWSTR lpTemplateName;
385 #if (_WIN32_WINNT >= 0x0500)
386         void * pvReserved;
387         DWORD dwReserved;
388         DWORD FlagsEx;
389 #endif /* (_WIN32_WINNT >= 0x0500) */
390 } OPENFILENAMEW,*LPOPENFILENAMEW;
391 typedef struct _OFNOTIFYA {
392         NMHDR hdr;
393         LPOPENFILENAMEA lpOFN;
394         LPSTR pszFile;
395 } OFNOTIFYA,*LPOFNOTIFYA;
396 typedef struct _OFNOTIFYW {
397         NMHDR hdr;
398         LPOPENFILENAMEW lpOFN;
399         LPWSTR pszFile;
400 } OFNOTIFYW,*LPOFNOTIFYW;
401 typedef struct tagPSDA {
402         DWORD lStructSize;
403         HWND hwndOwner;
404         HGLOBAL hDevMode;
405         HGLOBAL hDevNames;
406         DWORD Flags;
407         POINT ptPaperSize;
408         RECT rtMinMargin;
409         RECT rtMargin;
410         HINSTANCE hInstance;
411         LPARAM lCustData;
412         LPPAGESETUPHOOK lpfnPageSetupHook;
413         LPPAGEPAINTHOOK lpfnPagePaintHook;
414         LPCSTR lpPageSetupTemplateName;
415         HGLOBAL hPageSetupTemplate;
416 } PAGESETUPDLGA,*LPPAGESETUPDLGA;
417 typedef struct tagPSDW {
418         DWORD lStructSize;
419         HWND hwndOwner;
420         HGLOBAL hDevMode;
421         HGLOBAL hDevNames;
422         DWORD Flags;
423         POINT ptPaperSize;
424         RECT rtMinMargin;
425         RECT rtMargin;
426         HINSTANCE hInstance;
427         LPARAM lCustData;
428         LPPAGESETUPHOOK lpfnPageSetupHook;
429         LPPAGEPAINTHOOK lpfnPagePaintHook;
430         LPCWSTR lpPageSetupTemplateName;
431         HGLOBAL hPageSetupTemplate;
432 } PAGESETUPDLGW,*LPPAGESETUPDLGW;
433 typedef struct tagPDA {
434         DWORD lStructSize;
435         HWND hwndOwner;
436         HANDLE hDevMode;
437         HANDLE hDevNames;
438         HDC hDC;
439         DWORD Flags;
440         WORD nFromPage;
441         WORD nToPage;
442         WORD nMinPage;
443         WORD nMaxPage;
444         WORD nCopies;
445         HINSTANCE hInstance;
446         DWORD lCustData;
447         LPPRINTHOOKPROC lpfnPrintHook;
448         LPSETUPHOOKPROC lpfnSetupHook;
449         LPCSTR lpPrintTemplateName;
450         LPCSTR lpSetupTemplateName;
451         HANDLE hPrintTemplate;
452         HANDLE hSetupTemplate;
453 } PRINTDLGA,*LPPRINTDLGA;
454 typedef struct tagPDW {
455         DWORD lStructSize;
456         HWND hwndOwner;
457         HANDLE hDevMode;
458         HANDLE hDevNames;
459         HDC hDC;
460         DWORD Flags;
461         WORD nFromPage;
462         WORD nToPage;
463         WORD nMinPage;
464         WORD nMaxPage;
465         WORD nCopies;
466         HINSTANCE hInstance;
467         DWORD lCustData;
468         LPPRINTHOOKPROC lpfnPrintHook;
469         LPSETUPHOOKPROC lpfnSetupHook;
470         LPCWSTR lpPrintTemplateName;
471         LPCWSTR lpSetupTemplateName;
472         HANDLE hPrintTemplate;
473         HANDLE hSetupTemplate;
474 } PRINTDLGW,*LPPRINTDLGW;
475
476 BOOL WINAPI ChooseColorA(LPCHOOSECOLORA);
477 BOOL WINAPI ChooseColorW(LPCHOOSECOLORW);
478 BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
479 BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
480 DWORD WINAPI CommDlgExtendedError(void);
481 HWND WINAPI FindTextA(LPFINDREPLACEA);
482 HWND WINAPI FindTextW(LPFINDREPLACEW);
483 short WINAPI GetFileTitleA(LPCSTR,LPSTR,WORD);
484 short WINAPI GetFileTitleW(LPCWSTR,LPWSTR,WORD);
485 BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA);
486 BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW);
487 BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA);
488 BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW);
489 BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA);
490 BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW);
491 BOOL WINAPI PrintDlgA(LPPRINTDLGA);
492 BOOL WINAPI PrintDlgW(LPPRINTDLGW);
493 HWND WINAPI ReplaceTextA(LPFINDREPLACEA);
494 HWND WINAPI ReplaceTextW(LPFINDREPLACEW);
495
496 #define LBSELCHSTRING  __AW(LBSELCHSTRING)
497 #define SHAREVISTRING  __AW(SHAREVISTRING)
498 #define FILEOKSTRING   __AW(FILEOKSTRING)
499 #define COLOROKSTRING  __AW(COLOROKSTRING)
500 #define SETRGBSTRING   __AW(SETRGBSTRING)
501 #define HELPMSGSTRING  __AW(HELPMSGSTRING)
502 #define FINDMSGSTRING  __AW(FINDMSGSTRING)
503 typedef __AW(CHOOSECOLOR) CHOOSECOLOR,*LPCHOOSECOLOR;
504 typedef __AW(CHOOSEFONT) CHOOSEFONT,*LPCHOOSEFONT;
505 typedef __AW(FINDREPLACE) FINDREPLACE,*LPFINDREPLACE;
506 typedef __AW(OPENFILENAME) OPENFILENAME,*LPOPENFILENAME;
507 typedef __AW(OFNOTIFY) OFNOTIFY,*LPOFNOTIFY;
508 typedef __AW(PAGESETUPDLG) PAGESETUPDLG,*LPPAGESETUPDLG;
509 typedef __AW(PRINTDLG) PRINTDLG,*LPPRINTDLG;
510 #define ChooseColor __AW(ChooseColor)
511 #define ChooseFont __AW(ChooseFont)
512 #define FindText __AW(FindText)
513 #define GetFileTitle __AW(GetFileTitle)
514 #define GetOpenFileName __AW(GetOpenFileName)
515 #define GetSaveFileName __AW(GetSaveFileName)
516 #define PageSetupDlg __AW(PageSetupDlg)
517 #define PrintDlg __AW(PrintDlg)
518 #define ReplaceText __AW(ReplaceText)
519
520 #if (WINVER >= 0x0500) 
521 #define OFN_DONTADDTORECENT 0x02000000
522 #define PD_CURRENTPAGE  0x00400000
523 #define PD_NOCURRENTPAGE        0x00800000
524 #define PD_EXCLUSIONFLAGS       0x01000000 
525 #define PD_USELARGETEMPLATE     0x10000000
526 #define PD_RESULT_CANCEL        0
527 #define PD_RESULT_PRINT 1
528 #define PD_RESULT_APPLY 2
529 #define START_PAGE_GENERAL      0XFFFFFFFF
530 #define OPENFILENAME_SIZE_VERSION_400  76
531 #ifndef _OBJC_NO_COM
532 #include <unknwn.h>  /* for LPUNKNOWN  */ 
533 #include <prsht.h>   /* for HPROPSHEETPAGE  */
534 typedef struct tagPRINTPAGERANGE {
535    DWORD  nFromPage;
536    DWORD  nToPage;
537 } PRINTPAGERANGE, *LPPRINTPAGERANGE;
538 typedef struct tagPDEXA {
539    DWORD lStructSize;
540    HWND hwndOwner;
541    HGLOBAL hDevMode;
542    HGLOBAL hDevNames;
543    HDC hDC;
544    DWORD Flags;
545    DWORD Flags2;
546    DWORD ExclusionFlags;
547    DWORD nPageRanges;
548    DWORD nMaxPageRanges;
549    LPPRINTPAGERANGE lpPageRanges;
550    DWORD nMinPage;
551    DWORD nMaxPage;
552    DWORD nCopies;
553    HINSTANCE hInstance;
554    LPCSTR lpPrintTemplateName;
555    LPUNKNOWN lpCallback;
556    DWORD nPropertyPages;
557    HPROPSHEETPAGE *lphPropertyPages;
558    DWORD nStartPage;
559    DWORD dwResultAction;
560 } PRINTDLGEXA, *LPPRINTDLGEXA;
561 typedef struct tagPDEXW {
562    DWORD lStructSize;
563    HWND hwndOwner;
564    HGLOBAL hDevMode;
565    HGLOBAL hDevNames;
566    HDC hDC;
567    DWORD Flags;
568    DWORD Flags2;
569    DWORD ExclusionFlags;
570    DWORD nPageRanges;
571    DWORD nMaxPageRanges;
572    LPPRINTPAGERANGE lpPageRanges;
573    DWORD nMinPage;
574    DWORD nMaxPage;
575    DWORD nCopies;
576    HINSTANCE hInstance;
577    LPCWSTR lpPrintTemplateName;
578    LPUNKNOWN lpCallback;
579    DWORD nPropertyPages;
580    HPROPSHEETPAGE *lphPropertyPages;
581    DWORD nStartPage;
582    DWORD dwResultAction;
583 } PRINTDLGEXW, *LPPRINTDLGEXW;
584 typedef __AW(PRINTDLGEX) PRINTDLGEX, *LPPRINTDLGEX;
585 HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
586 HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
587 #define PrintDlgEx __AW(PrintDlgEx)
588 #endif /* _OBJC_NO_COM */
589 #endif /* WINVER >= 0x0500 */
590
591 #pragma pack(pop)
592
593 #ifdef __cplusplus
594 }
595 #endif
596 #endif