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
;
341 LPEDITMENU lpEditInfo
;
344 #if (_WIN32_WINNT >= 0x0500)
349 } OPENFILENAMEA
,*LPOPENFILENAMEA
;
350 typedef struct tagOFNW
{
355 LPWSTR lpstrCustomFilter
;
356 DWORD nMaxCustFilter
;
360 LPWSTR lpstrFileTitle
;
362 LPCWSTR lpstrInitialDir
;
369 LPOFNHOOKPROC lpfnHook
;
370 LPCWSTR lpTemplateName
;
372 LPEDITMENU lpEditInfo
;
375 #if (_WIN32_WINNT >= 0x0500)
380 } OPENFILENAMEW
,*LPOPENFILENAMEW
;
381 typedef struct _OFNOTIFYA
{
383 LPOPENFILENAMEA lpOFN
;
385 } OFNOTIFYA
,*LPOFNOTIFYA
;
386 typedef struct _OFNOTIFYW
{
388 LPOPENFILENAMEW lpOFN
;
390 } OFNOTIFYW
,*LPOFNOTIFYW
;
392 typedef struct _OFNOTIFYEXA
395 LPOPENFILENAMEA lpOFN
;
398 } OFNOTIFYEXA
, *LPOFNOTIFYEXA
;
400 typedef struct _OFNOTIFYEXW
403 LPOPENFILENAMEW lpOFN
;
406 } OFNOTIFYEXW
, *LPOFNOTIFYEXW
;
408 typedef struct tagPSDA
{
419 LPPAGESETUPHOOK lpfnPageSetupHook
;
420 LPPAGEPAINTHOOK lpfnPagePaintHook
;
421 LPCSTR lpPageSetupTemplateName
;
422 HGLOBAL hPageSetupTemplate
;
423 } PAGESETUPDLGA
,*LPPAGESETUPDLGA
;
424 typedef struct tagPSDW
{
435 LPPAGESETUPHOOK lpfnPageSetupHook
;
436 LPPAGEPAINTHOOK lpfnPagePaintHook
;
437 LPCWSTR lpPageSetupTemplateName
;
438 HGLOBAL hPageSetupTemplate
;
439 } PAGESETUPDLGW
,*LPPAGESETUPDLGW
;
440 typedef struct tagPDA
{
454 LPPRINTHOOKPROC lpfnPrintHook
;
455 LPSETUPHOOKPROC lpfnSetupHook
;
456 LPCSTR lpPrintTemplateName
;
457 LPCSTR lpSetupTemplateName
;
458 HANDLE hPrintTemplate
;
459 HANDLE hSetupTemplate
;
460 } PRINTDLGA
,*LPPRINTDLGA
;
461 typedef struct tagPDW
{
475 LPPRINTHOOKPROC lpfnPrintHook
;
476 LPSETUPHOOKPROC lpfnSetupHook
;
477 LPCWSTR lpPrintTemplateName
;
478 LPCWSTR lpSetupTemplateName
;
479 HANDLE hPrintTemplate
;
480 HANDLE hSetupTemplate
;
481 } PRINTDLGW
,*LPPRINTDLGW
;
482 #if (WINVER >= 0x0500) && !defined (__OBJC__)
483 #include <prsht.h> /* for HPROPSHEETPAGE */
484 typedef struct tagPRINTPAGERANGE
{
487 } PRINTPAGERANGE
, *LPPRINTPAGERANGE
;
488 typedef struct tagPDEXA
{
496 DWORD ExclusionFlags
;
498 DWORD nMaxPageRanges
;
499 LPPRINTPAGERANGE lpPageRanges
;
504 LPCSTR lpPrintTemplateName
;
505 void* /*LPUNKNOWN*/ lpCallback
;
506 DWORD nPropertyPages
;
507 HPROPSHEETPAGE
*lphPropertyPages
;
509 DWORD dwResultAction
;
510 } PRINTDLGEXA
, *LPPRINTDLGEXA
;
511 typedef struct tagPDEXW
{
519 DWORD ExclusionFlags
;
521 DWORD nMaxPageRanges
;
522 LPPRINTPAGERANGE lpPageRanges
;
527 LPCWSTR lpPrintTemplateName
;
528 void* /*LPUNKNOWN*/ lpCallback
;
529 DWORD nPropertyPages
;
530 HPROPSHEETPAGE
*lphPropertyPages
;
532 DWORD dwResultAction
;
533 } PRINTDLGEXW
, *LPPRINTDLGEXW
;
534 #endif /* WINVER >= 0x0500 */
536 BOOL WINAPI
ChooseColorA(LPCHOOSECOLORA
);
537 BOOL WINAPI
ChooseColorW(LPCHOOSECOLORW
);
538 BOOL WINAPI
ChooseFontA(LPCHOOSEFONTA
);
539 BOOL WINAPI
ChooseFontW(LPCHOOSEFONTW
);
540 DWORD WINAPI
CommDlgExtendedError(void);
541 HWND WINAPI
FindTextA(LPFINDREPLACEA
);
542 HWND WINAPI
FindTextW(LPFINDREPLACEW
);
543 short WINAPI
GetFileTitleA(LPCSTR
,LPSTR
,WORD
);
544 short WINAPI
GetFileTitleW(LPCWSTR
,LPWSTR
,WORD
);
545 BOOL WINAPI
GetOpenFileNameA(LPOPENFILENAMEA
);
546 BOOL WINAPI
GetOpenFileNameW(LPOPENFILENAMEW
);
547 BOOL WINAPI
GetSaveFileNameA(LPOPENFILENAMEA
);
548 BOOL WINAPI
GetSaveFileNameW(LPOPENFILENAMEW
);
549 BOOL WINAPI
PageSetupDlgA(LPPAGESETUPDLGA
);
550 BOOL WINAPI
PageSetupDlgW(LPPAGESETUPDLGW
);
551 BOOL WINAPI
PrintDlgA(LPPRINTDLGA
);
552 BOOL WINAPI
PrintDlgW(LPPRINTDLGW
);
553 HWND WINAPI
ReplaceTextA(LPFINDREPLACEA
);
554 HWND WINAPI
ReplaceTextW(LPFINDREPLACEW
);
555 #if (WINVER >= 0x0500) && !defined (__OBJC__)
556 HRESULT WINAPI
PrintDlgExA(LPPRINTDLGEXA
);
557 HRESULT WINAPI
PrintDlgExW(LPPRINTDLGEXW
);
558 #endif /* WINVER >= 0x0500 */
561 #define LBSELCHSTRING LBSELCHSTRINGW
562 #define SHAREVISTRING SHAREVISTRINGW
563 #define FILEOKSTRING FILEOKSTRINGW
564 #define COLOROKSTRING COLOROKSTRINGW
565 #define SETRGBSTRING SETRGBSTRINGW
566 #define HELPMSGSTRING HELPMSGSTRINGW
567 #define FINDMSGSTRING FINDMSGSTRINGW
568 typedef CHOOSECOLORW CHOOSECOLOR
,*LPCHOOSECOLOR
;
569 typedef CHOOSEFONTW CHOOSEFONT
,*LPCHOOSEFONT
;
570 typedef FINDREPLACEW FINDREPLACE
,*LPFINDREPLACE
;
571 typedef OPENFILENAMEW OPENFILENAME
,*LPOPENFILENAME
;
572 typedef OFNOTIFYW OFNOTIFY
,*LPOFNOTIFY
;
573 typedef PAGESETUPDLGW PAGESETUPDLG
,*LPPAGESETUPDLG
;
574 typedef PRINTDLGW PRINTDLG
,*LPPRINTDLG
;
575 #define ChooseColor ChooseColorW
576 #define ChooseFont ChooseFontW
577 #define FindText FindTextW
578 #define GetFileTitle GetFileTitleW
579 #define GetOpenFileName GetOpenFileNameW
580 #define GetSaveFileName GetSaveFileNameW
581 #define PageSetupDlg PageSetupDlgW
582 #define PrintDlg PrintDlgW
583 #define ReplaceText ReplaceTextW
584 #if (WINVER >= 0x0500) && !defined (__OBJC__)
585 typedef PRINTDLGEXW PRINTDLGEX
, *LPPRINTDLGEX
;
586 #define PrintDlgEx PrintDlgExW
587 #endif /* WINVER >= 0x0500 */
589 #define LBSELCHSTRING LBSELCHSTRINGA
590 #define SHAREVISTRING SHAREVISTRINGA
591 #define FILEOKSTRING FILEOKSTRINGA
592 #define COLOROKSTRING COLOROKSTRINGA
593 #define SETRGBSTRING SETRGBSTRINGA
594 #define HELPMSGSTRING HELPMSGSTRINGA
595 #define FINDMSGSTRING FINDMSGSTRINGA
596 typedef CHOOSECOLORA CHOOSECOLOR
,*LPCHOOSECOLOR
;
597 typedef CHOOSEFONTA CHOOSEFONT
,*LPCHOOSEFONT
;
598 typedef FINDREPLACEA FINDREPLACE
,*LPFINDREPLACE
;
599 typedef OPENFILENAMEA OPENFILENAME
,*LPOPENFILENAME
;
600 typedef OFNOTIFYA OFNOTIFY
,*LPOFNOTIFY
;
601 typedef PAGESETUPDLGA PAGESETUPDLG
,*LPPAGESETUPDLG
;
602 typedef PRINTDLGA PRINTDLG
,*LPPRINTDLG
;
603 #define ChooseColor ChooseColorA
604 #define ChooseFont ChooseFontA
605 #define FindText FindTextA
606 #define GetFileTitle GetFileTitleA
607 #define GetOpenFileName GetOpenFileNameA
608 #define GetSaveFileName GetSaveFileNameA
609 #define PageSetupDlg PageSetupDlgA
610 #define PrintDlg PrintDlgA
611 #define ReplaceText ReplaceTextA
612 #if (WINVER >= 0x0500) && !defined (__OBJC__)
613 typedef PRINTDLGEXA PRINTDLGEX
, *LPPRINTDLGEX
;
614 #define PrintDlgEx PrintDlgExA
615 #endif /* WINVER >= 0x0500 */