15 #define LBSELCHSTRINGA "commdlg_LBSelChangedNotify"
16 #define SHAREVISTRINGA "commdlg_ShareViolation"
17 #define FILEOKSTRINGA "commdlg_FileNameOK"
18 #define COLOROKSTRINGA "commdlg_ColorOK"
19 #define SETRGBSTRINGA "commdlg_SetRGBColor"
20 #define HELPMSGSTRINGA "commdlg_help"
21 #define FINDMSGSTRINGA "commdlg_FindReplace"
22 #define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
23 #define SHAREVISTRINGW L"commdlg_ShareViolation"
24 #define FILEOKSTRINGW L"commdlg_FileNameOK"
25 #define COLOROKSTRINGW L"commdlg_ColorOK"
26 #define SETRGBSTRINGW L"commdlg_SetRGBColor"
27 #define HELPMSGSTRINGW L"commdlg_help"
28 #define FINDMSGSTRINGW L"commdlg_FindReplace"
30 #define CDN_FIRST ((UINT)-601) /* also in commctrl.h */
31 #define CDN_LAST ((UINT)-699)
33 #define CDN_INITDONE CDN_FIRST
34 #define CDN_SELCHANGE (CDN_FIRST-1U)
35 #define CDN_FOLDERCHANGE (CDN_FIRST-2U)
36 #define CDN_SHAREVIOLATION (CDN_FIRST-3U)
37 #define CDN_HELP (CDN_FIRST-4U)
38 #define CDN_FILEOK (CDN_FIRST-5U)
39 #define CDN_TYPECHANGE (CDN_FIRST-6U)
40 #define CDN_INCLUDEITEM (CDN_FIRST-7U)
41 #define CDM_FIRST (WM_USER+100)
42 #define CDM_LAST (WM_USER+200)
43 #define CDM_GETSPEC CDM_FIRST
44 #define CDM_GETFILEPATH (CDM_FIRST+1)
45 #define CDM_GETFOLDERPATH (CDM_FIRST+2)
46 #define CDM_GETFOLDERIDLIST (CDM_FIRST+3)
47 #define CDM_SETCONTROLTEXT (CDM_FIRST+4)
48 #define CDM_HIDECONTROL (CDM_FIRST+5)
49 #define CDM_SETDEFEXT (CDM_FIRST+6)
52 #define CC_PREVENTFULLOPEN 4
54 #define CC_ENABLEHOOK 16
55 #define CC_ENABLETEMPLATE 32
56 #define CC_ENABLETEMPLATEHANDLE 64
57 #define CC_SOLIDCOLOR 128
58 #define CC_ANYCOLOR 256
59 #define CF_SCREENFONTS 1
60 #define CF_PRINTERFONTS 2
63 #define CF_ENABLEHOOK 8
64 #define CF_ENABLETEMPLATE 16
65 #define CF_ENABLETEMPLATEHANDLE 32
66 #define CF_INITTOLOGFONTSTRUCT 64
67 #define CF_USESTYLE 128
68 #define CF_EFFECTS 256
70 #define CF_ANSIONLY 1024
71 #define CF_SCRIPTSONLY CF_ANSIONLY
72 #define CF_NOVECTORFONTS 2048
73 #define CF_NOOEMFONTS 2048
74 #define CF_NOSIMULATIONS 4096
75 #define CF_LIMITSIZE 8192
76 #define CF_FIXEDPITCHONLY 16384
77 #define CF_WYSIWYG 32768
78 #define CF_FORCEFONTEXIST 65536
79 #define CF_SCALABLEONLY 131072
80 #define CF_TTONLY 262144
81 #define CF_NOFACESEL 524288
82 #define CF_NOSTYLESEL 1048576
83 #define CF_NOSIZESEL 2097152
84 #define CF_SELECTSCRIPT 4194304
85 #define CF_NOSCRIPTSEL 8388608
86 #define CF_NOVERTFONTS 0x1000000
87 #define SIMULATED_FONTTYPE 0x8000
88 #define PRINTER_FONTTYPE 0x4000
89 #define SCREEN_FONTTYPE 0x2000
90 #define BOLD_FONTTYPE 0x100
91 #define ITALIC_FONTTYPE 0x0200
92 #define REGULAR_FONTTYPE 0x0400
93 #define WM_CHOOSEFONT_GETLOGFONT (WM_USER+1)
94 #define WM_CHOOSEFONT_SETLOGFONT (WM_USER+101)
95 #define WM_CHOOSEFONT_SETFLAGS (WM_USER+102)
96 #define OFN_ALLOWMULTISELECT 512
97 #define OFN_CREATEPROMPT 0x2000
98 #define OFN_ENABLEHOOK 32
99 #define OFN_ENABLESIZING 0x800000
100 #define OFN_ENABLETEMPLATE 64
101 #define OFN_ENABLETEMPLATEHANDLE 128
102 #define OFN_EXPLORER 0x80000
103 #define OFN_EXTENSIONDIFFERENT 0x400
104 #define OFN_FILEMUSTEXIST 0x1000
105 #define OFN_HIDEREADONLY 4
106 #define OFN_LONGNAMES 0x200000
107 #define OFN_NOCHANGEDIR 8
108 #define OFN_NODEREFERENCELINKS 0x100000
109 #define OFN_NOLONGNAMES 0x40000
110 #define OFN_NONETWORKBUTTON 0x20000
111 #define OFN_NOREADONLYRETURN 0x8000
112 #define OFN_NOTESTFILECREATE 0x10000
113 #define OFN_NOVALIDATE 256
114 #define OFN_OVERWRITEPROMPT 2
115 #define OFN_PATHMUSTEXIST 0x800
116 #define OFN_READONLY 1
117 #define OFN_SHAREAWARE 0x4000
118 #define OFN_SHOWHELP 16
119 #define OFN_SHAREFALLTHROUGH 2
120 #define OFN_SHARENOWARN 1
121 #define OFN_SHAREWARN 0
122 #define OFN_NODEREFERENCELINKS 0x100000
123 #define FR_DIALOGTERM 64
125 #define FR_ENABLEHOOK 256
126 #define FR_ENABLETEMPLATE 512
127 #define FR_ENABLETEMPLATEHANDLE 0x2000
128 #define FR_FINDNEXT 8
129 #define FR_HIDEUPDOWN 0x4000
130 #define FR_HIDEMATCHCASE 0x8000
131 #define FR_HIDEWHOLEWORD 0x10000
132 #define FR_MATCHALEFHAMZA 0x80000000
133 #define FR_MATCHCASE 4
134 #define FR_MATCHDIAC 0x20000000
135 #define FR_MATCHKASHIDA 0x40000000
136 #define FR_NOMATCHCASE 0x800
137 #define FR_NOUPDOWN 0x400
138 #define FR_NOWHOLEWORD 4096
139 #define FR_REPLACE 16
140 #define FR_REPLACEALL 32
141 #define FR_SHOWHELP 128
142 #define FR_WHOLEWORD 2
143 #define PD_ALLPAGES 0
144 #define PD_SELECTION 1
145 #define PD_PAGENUMS 2
146 #define PD_NOSELECTION 4
147 #define PD_NOPAGENUMS 8
148 #define PD_COLLATE 16
149 #define PD_PRINTTOFILE 32
150 #define PD_PRINTSETUP 64
151 #define PD_NOWARNING 128
152 #define PD_RETURNDC 256
153 #define PD_RETURNIC 512
154 #define PD_RETURNDEFAULT 1024
155 #define PD_SHOWHELP 2048
156 #define PD_ENABLEPRINTHOOK 4096
157 #define PD_ENABLESETUPHOOK 8192
158 #define PD_ENABLEPRINTTEMPLATE 16384
159 #define PD_ENABLESETUPTEMPLATE 32768
160 #define PD_ENABLEPRINTTEMPLATEHANDLE 65536
161 #define PD_ENABLESETUPTEMPLATEHANDLE 0x20000
162 #define PD_USEDEVMODECOPIES 0x40000
163 #define PD_USEDEVMODECOPIESANDCOLLATE 0x40000
164 #define PD_DISABLEPRINTTOFILE 0x80000
165 #define PD_HIDEPRINTTOFILE 0x100000
166 #define PD_NONETWORKBUTTON 0x200000
167 #define PSD_DEFAULTMINMARGINS 0
168 #define PSD_INWININIINTLMEASURE 0
169 #define PSD_MINMARGINS 1
170 #define PSD_MARGINS 2
171 #define PSD_INTHOUSANDTHSOFINCHES 4
172 #define PSD_INHUNDREDTHSOFMILLIMETERS 8
173 #define PSD_DISABLEMARGINS 16
174 #define PSD_DISABLEPRINTER 32
175 #define PSD_NOWARNING 128
176 #define PSD_DISABLEORIENTATION 256
177 #define PSD_DISABLEPAPER 512
178 #define PSD_RETURNDEFAULT 1024
179 #define PSD_SHOWHELP 2048
180 #define PSD_ENABLEPAGESETUPHOOK 8192
181 #define PSD_ENABLEPAGESETUPTEMPLATE 0x8000
182 #define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x20000
183 #define PSD_ENABLEPAGEPAINTHOOK 0x40000
184 #define PSD_DISABLEPAGEPAINTING 0x80000
185 #define WM_PSD_PAGESETUPDLG WM_USER
186 #define WM_PSD_FULLPAGERECT (WM_USER+1)
187 #define WM_PSD_MINMARGINRECT (WM_USER+2)
188 #define WM_PSD_MARGINRECT (WM_USER+3)
189 #define WM_PSD_GREEKTEXTRECT (WM_USER+4)
190 #define WM_PSD_ENVSTAMPRECT (WM_USER+5)
191 #define WM_PSD_YAFULLPAGERECT (WM_USER+6)
192 #define CD_LBSELNOITEMS (-1)
193 #define CD_LBSELCHANGE 0
194 #define CD_LBSELSUB 1
195 #define CD_LBSELADD 2
196 #define DN_DEFAULTPRN 1
200 #define SNDMSG ::SendMessage
202 #define SNDMSG SendMessage
204 #endif /* ifndef SNDMSG */
206 #define CommDlg_OpenSave_GetSpec(d,s,m) ((int)SNDMSG((d),CDM_GETSPEC,(m),(LPARAM)(s)))
207 #define CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpec
208 #define CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_GetSpec
209 #define CommDlg_OpenSave_GetFilePath(d,s,m) ((int)SNDMSG((d),CDM_GETFILEPATH,(m),(LPARAM)(s)))
210 #define CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePath
211 #define CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFilePath
212 #define CommDlg_OpenSave_GetFolderPath(d,s,m) ((int)SNDMSG((d),CDM_GETFOLDERPATH,(m),(LPARAM)(LPSTR)(s)))
213 #define CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPath
214 #define CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetFolderPath
215 #define CommDlg_OpenSave_GetFolderIDList(d,i,m) ((int)SNDMSG((d),CDM_GETFOLDERIDLIST,(m),(LPARAM)(i)))
216 #define CommDlg_OpenSave_SetControlText(d,i,t) ((void)SNDMSG((d),CDM_SETCONTROLTEXT,(i),(LPARAM)(t)))
217 #define CommDlg_OpenSave_HideControl(d,i) ((void)SNDMSG((d),CDM_HIDECONTROL,(i),0))
218 #define CommDlg_OpenSave_SetDefExt(d,e) ((void)SNDMSG((d),CDM_SETDEFEXT,0,(LPARAM)(e)))
220 typedef UINT_PTR (APIENTRY
*__CDHOOKPROC
)(HWND
,UINT
,WPARAM
,LPARAM
);
221 typedef __CDHOOKPROC LPCCHOOKPROC
;
222 typedef __CDHOOKPROC LPCFHOOKPROC
;
223 typedef __CDHOOKPROC LPFRHOOKPROC
;
224 typedef __CDHOOKPROC LPOFNHOOKPROC
;
225 typedef __CDHOOKPROC LPPAGEPAINTHOOK
;
226 typedef __CDHOOKPROC LPPAGESETUPHOOK
;
227 typedef __CDHOOKPROC LPSETUPHOOKPROC
;
228 typedef __CDHOOKPROC LPPRINTHOOKPROC
;
229 typedef struct tagCHOOSECOLORA
{
234 COLORREF
* lpCustColors
;
237 LPCCHOOKPROC lpfnHook
;
238 LPCSTR lpTemplateName
;
239 } CHOOSECOLORA
,*LPCHOOSECOLORA
;
240 typedef struct tagCHOOSECOLORW
{
245 COLORREF
* lpCustColors
;
248 LPCCHOOKPROC lpfnHook
;
249 LPCWSTR lpTemplateName
;
250 } CHOOSECOLORW
,*LPCHOOSECOLORW
;
251 typedef struct tagCHOOSEFONTA
{
255 LPLOGFONTA lpLogFont
;
260 LPCFHOOKPROC lpfnHook
;
261 LPCSTR lpTemplateName
;
265 WORD ___MISSING_ALIGNMENT__
;
268 } CHOOSEFONTA
,*LPCHOOSEFONTA
;
269 typedef struct tagCHOOSEFONTW
{
273 LPLOGFONTW lpLogFont
;
278 LPCFHOOKPROC lpfnHook
;
279 LPCWSTR lpTemplateName
;
283 WORD ___MISSING_ALIGNMENT__
;
286 } CHOOSEFONTW
,*LPCHOOSEFONTW
;
287 typedef struct tagDEVNAMES
{
292 } DEVNAMES
,*LPDEVNAMES
;
299 LPSTR lpstrReplaceWith
;
301 WORD wReplaceWithLen
;
303 LPFRHOOKPROC lpfnHook
;
304 LPCSTR lpTemplateName
;
305 } FINDREPLACEA
,*LPFINDREPLACEA
;
311 LPWSTR lpstrFindWhat
;
312 LPWSTR lpstrReplaceWith
;
314 WORD wReplaceWithLen
;
316 LPFRHOOKPROC lpfnHook
;
317 LPCWSTR lpTemplateName
;
318 } FINDREPLACEW
,*LPFINDREPLACEW
;
319 typedef struct tagOFNA
{
324 LPSTR lpstrCustomFilter
;
325 DWORD nMaxCustFilter
;
329 LPSTR lpstrFileTitle
;
331 LPCSTR lpstrInitialDir
;
338 LPOFNHOOKPROC lpfnHook
;
339 LPCSTR lpTemplateName
;
340 } OPENFILENAMEA
,*LPOPENFILENAMEA
;
341 typedef struct tagOFNW
{
346 LPWSTR lpstrCustomFilter
;
347 DWORD nMaxCustFilter
;
351 LPWSTR lpstrFileTitle
;
353 LPCWSTR lpstrInitialDir
;
360 LPOFNHOOKPROC lpfnHook
;
361 LPCWSTR lpTemplateName
;
362 } OPENFILENAMEW
,*LPOPENFILENAMEW
;
363 typedef struct _OFNOTIFYA
{
365 LPOPENFILENAMEA lpOFN
;
367 } OFNOTIFYA
,*LPOFNOTIFYA
;
368 typedef struct _OFNOTIFYW
{
370 LPOPENFILENAMEW lpOFN
;
372 } OFNOTIFYW
,*LPOFNOTIFYW
;
374 typedef struct _OFNOTIFYEXA
377 LPOPENFILENAMEA lpOFN
;
380 } OFNOTIFYEXA
, *LPOFNOTIFYEXA
;
382 typedef struct _OFNOTIFYEXW
385 LPOPENFILENAMEW lpOFN
;
388 } OFNOTIFYEXW
, *LPOFNOTIFYEXW
;
390 typedef struct tagPSDA
{
401 LPPAGESETUPHOOK lpfnPageSetupHook
;
402 LPPAGEPAINTHOOK lpfnPagePaintHook
;
403 LPCSTR lpPageSetupTemplateName
;
404 HGLOBAL hPageSetupTemplate
;
405 } PAGESETUPDLGA
,*LPPAGESETUPDLGA
;
406 typedef struct tagPSDW
{
417 LPPAGESETUPHOOK lpfnPageSetupHook
;
418 LPPAGEPAINTHOOK lpfnPagePaintHook
;
419 LPCWSTR lpPageSetupTemplateName
;
420 HGLOBAL hPageSetupTemplate
;
421 } PAGESETUPDLGW
,*LPPAGESETUPDLGW
;
422 typedef struct tagPDA
{
436 LPPRINTHOOKPROC lpfnPrintHook
;
437 LPSETUPHOOKPROC lpfnSetupHook
;
438 LPCSTR lpPrintTemplateName
;
439 LPCSTR lpSetupTemplateName
;
440 HANDLE hPrintTemplate
;
441 HANDLE hSetupTemplate
;
442 } PRINTDLGA
,*LPPRINTDLGA
;
443 typedef struct tagPDW
{
457 LPPRINTHOOKPROC lpfnPrintHook
;
458 LPSETUPHOOKPROC lpfnSetupHook
;
459 LPCWSTR lpPrintTemplateName
;
460 LPCWSTR lpSetupTemplateName
;
461 HANDLE hPrintTemplate
;
462 HANDLE hSetupTemplate
;
463 } PRINTDLGW
,*LPPRINTDLGW
;
464 #if (WINVER >= 0x0500) && !defined (__OBJC__)
465 #include <prsht.h> /* for HPROPSHEETPAGE */
466 typedef struct tagPRINTPAGERANGE
{
469 } PRINTPAGERANGE
, *LPPRINTPAGERANGE
;
470 typedef struct tagPDEXA
{
478 DWORD ExclusionFlags
;
480 DWORD nMaxPageRanges
;
481 LPPRINTPAGERANGE lpPageRanges
;
486 LPCSTR lpPrintTemplateName
;
487 void* /*LPUNKNOWN*/ lpCallback
;
488 DWORD nPropertyPages
;
489 HPROPSHEETPAGE
*lphPropertyPages
;
491 DWORD dwResultAction
;
492 } PRINTDLGEXA
, *LPPRINTDLGEXA
;
493 typedef struct tagPDEXW
{
501 DWORD ExclusionFlags
;
503 DWORD nMaxPageRanges
;
504 LPPRINTPAGERANGE lpPageRanges
;
509 LPCWSTR lpPrintTemplateName
;
510 void* /*LPUNKNOWN*/ lpCallback
;
511 DWORD nPropertyPages
;
512 HPROPSHEETPAGE
*lphPropertyPages
;
514 DWORD dwResultAction
;
515 } PRINTDLGEXW
, *LPPRINTDLGEXW
;
516 #endif /* WINVER >= 0x0500 */
518 BOOL WINAPI
ChooseColorA(LPCHOOSECOLORA
);
519 BOOL WINAPI
ChooseColorW(LPCHOOSECOLORW
);
520 BOOL WINAPI
ChooseFontA(LPCHOOSEFONTA
);
521 BOOL WINAPI
ChooseFontW(LPCHOOSEFONTW
);
522 DWORD WINAPI
CommDlgExtendedError(void);
523 HWND WINAPI
FindTextA(LPFINDREPLACEA
);
524 HWND WINAPI
FindTextW(LPFINDREPLACEW
);
525 short WINAPI
GetFileTitleA(LPCSTR
,LPSTR
,WORD
);
526 short WINAPI
GetFileTitleW(LPCWSTR
,LPWSTR
,WORD
);
527 BOOL WINAPI
GetOpenFileNameA(LPOPENFILENAMEA
);
528 BOOL WINAPI
GetOpenFileNameW(LPOPENFILENAMEW
);
529 BOOL WINAPI
GetSaveFileNameA(LPOPENFILENAMEA
);
530 BOOL WINAPI
GetSaveFileNameW(LPOPENFILENAMEW
);
531 BOOL WINAPI
PageSetupDlgA(LPPAGESETUPDLGA
);
532 BOOL WINAPI
PageSetupDlgW(LPPAGESETUPDLGW
);
533 BOOL WINAPI
PrintDlgA(LPPRINTDLGA
);
534 BOOL WINAPI
PrintDlgW(LPPRINTDLGW
);
535 HWND WINAPI
ReplaceTextA(LPFINDREPLACEA
);
536 HWND WINAPI
ReplaceTextW(LPFINDREPLACEW
);
537 #if (WINVER >= 0x0500) && !defined (__OBJC__)
538 HRESULT WINAPI
PrintDlgExA(LPPRINTDLGEXA
);
539 HRESULT WINAPI
PrintDlgExW(LPPRINTDLGEXW
);
540 #endif /* WINVER >= 0x0500 */
543 #define LBSELCHSTRING LBSELCHSTRINGW
544 #define SHAREVISTRING SHAREVISTRINGW
545 #define FILEOKSTRING FILEOKSTRINGW
546 #define COLOROKSTRING COLOROKSTRINGW
547 #define SETRGBSTRING SETRGBSTRINGW
548 #define HELPMSGSTRING HELPMSGSTRINGW
549 #define FINDMSGSTRING FINDMSGSTRINGW
550 typedef CHOOSECOLORW CHOOSECOLOR
,*LPCHOOSECOLOR
;
551 typedef CHOOSEFONTW CHOOSEFONT
,*LPCHOOSEFONT
;
552 typedef FINDREPLACEW FINDREPLACE
,*LPFINDREPLACE
;
553 typedef OPENFILENAMEW OPENFILENAME
,*LPOPENFILENAME
;
554 typedef OFNOTIFYW OFNOTIFY
,*LPOFNOTIFY
;
555 typedef PAGESETUPDLGW PAGESETUPDLG
,*LPPAGESETUPDLG
;
556 typedef PRINTDLGW PRINTDLG
,*LPPRINTDLG
;
557 #define ChooseColor ChooseColorW
558 #define ChooseFont ChooseFontW
559 #define FindText FindTextW
560 #define GetFileTitle GetFileTitleW
561 #define GetOpenFileName GetOpenFileNameW
562 #define GetSaveFileName GetSaveFileNameW
563 #define PageSetupDlg PageSetupDlgW
564 #define PrintDlg PrintDlgW
565 #define ReplaceText ReplaceTextW
566 #if (WINVER >= 0x0500) && !defined (__OBJC__)
567 typedef PRINTDLGEXW PRINTDLGEX
, *LPPRINTDLGEX
;
568 #define PrintDlgEx PrintDlgExW
569 #endif /* WINVER >= 0x0500 */
571 #define LBSELCHSTRING LBSELCHSTRINGA
572 #define SHAREVISTRING SHAREVISTRINGA
573 #define FILEOKSTRING FILEOKSTRINGA
574 #define COLOROKSTRING COLOROKSTRINGA
575 #define SETRGBSTRING SETRGBSTRINGA
576 #define HELPMSGSTRING HELPMSGSTRINGA
577 #define FINDMSGSTRING FINDMSGSTRINGA
578 typedef CHOOSECOLORA CHOOSECOLOR
,*LPCHOOSECOLOR
;
579 typedef CHOOSEFONTA CHOOSEFONT
,*LPCHOOSEFONT
;
580 typedef FINDREPLACEA FINDREPLACE
,*LPFINDREPLACE
;
581 typedef OPENFILENAMEA OPENFILENAME
,*LPOPENFILENAME
;
582 typedef OFNOTIFYA OFNOTIFY
,*LPOFNOTIFY
;
583 typedef PAGESETUPDLGA PAGESETUPDLG
,*LPPAGESETUPDLG
;
584 typedef PRINTDLGA PRINTDLG
,*LPPRINTDLG
;
585 #define ChooseColor ChooseColorA
586 #define ChooseFont ChooseFontA
587 #define FindText FindTextA
588 #define GetFileTitle GetFileTitleA
589 #define GetOpenFileName GetOpenFileNameA
590 #define GetSaveFileName GetSaveFileNameA
591 #define PageSetupDlg PageSetupDlgA
592 #define PrintDlg PrintDlgA
593 #define ReplaceText ReplaceTextA
594 #if (WINVER >= 0x0500) && !defined (__OBJC__)
595 typedef PRINTDLGEXA PRINTDLGEX
, *LPPRINTDLGEX
;
596 #define PrintDlgEx PrintDlgExA
597 #endif /* WINVER >= 0x0500 */