Update for mingw/cygwin.
[wine/multimedia.git] / include / commdlg.h
blobcb19da016afe395363cb1f6a028d648f1ba32075
1 /*
2 * COMMDLG - Common Wine Dialog ... :-)
4 * Copyright (C) the Wine project
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __WINE_COMMDLG_H
22 #define __WINE_COMMDLG_H
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
28 #include "prsht.h"
29 #include "pshpack1.h"
31 #define OFN_READONLY 0x00000001
32 #define OFN_OVERWRITEPROMPT 0x00000002
33 #define OFN_HIDEREADONLY 0x00000004
34 #define OFN_NOCHANGEDIR 0x00000008
35 #define OFN_SHOWHELP 0x00000010
36 #define OFN_ENABLEHOOK 0x00000020
37 #define OFN_ENABLETEMPLATE 0x00000040
38 #define OFN_ENABLETEMPLATEHANDLE 0x00000080
39 #define OFN_NOVALIDATE 0x00000100
40 #define OFN_ALLOWMULTISELECT 0x00000200
41 #define OFN_EXTENSIONDIFFERENT 0x00000400
42 #define OFN_PATHMUSTEXIST 0x00000800
43 #define OFN_FILEMUSTEXIST 0x00001000
44 #define OFN_CREATEPROMPT 0x00002000
45 #define OFN_SHAREAWARE 0x00004000
46 #define OFN_NOREADONLYRETURN 0x00008000
47 #define OFN_NOTESTFILECREATE 0x00010000
48 #define OFN_NONETWORKBUTTON 0x00020000
49 #define OFN_NOLONGNAMES 0x00040000
50 #define OFN_EXPLORER 0x00080000
51 #define OFN_NODEREFERENCELINKS 0x00100000
52 #define OFN_LONGNAMES 0x00200000
53 #define OFN_ENABLEINCLUDENOTIFY 0x00400000
54 #define OFN_ENABLESIZING 0x00800000
55 #define OFN_DONTADDTORECENT 0x02000000
56 #define OFN_FORCESHOWHIDDEN 0x10000000
58 #define OFN_SHAREFALLTHROUGH 2
59 #define OFN_SHARENOWARN 1
60 #define OFN_SHAREWARN 0
62 #define SAVE_DIALOG 1
63 #define OPEN_DIALOG 2
65 typedef UINT (CALLBACK *LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
67 typedef struct {
68 DWORD lStructSize;
69 HWND hwndOwner;
70 HINSTANCE hInstance;
71 LPCSTR lpstrFilter;
72 LPSTR lpstrCustomFilter;
73 DWORD nMaxCustFilter;
74 DWORD nFilterIndex;
75 LPSTR lpstrFile;
76 DWORD nMaxFile;
77 LPSTR lpstrFileTitle;
78 DWORD nMaxFileTitle;
79 LPCSTR lpstrInitialDir;
80 LPCSTR lpstrTitle;
81 DWORD Flags;
82 WORD nFileOffset;
83 WORD nFileExtension;
84 LPCSTR lpstrDefExt;
85 LPARAM lCustData;
86 LPOFNHOOKPROC lpfnHook;
87 LPCSTR lpTemplateName;
88 } OPENFILENAMEA,*LPOPENFILENAMEA;
90 typedef struct {
91 DWORD lStructSize;
92 HWND hwndOwner;
93 HINSTANCE hInstance;
94 LPCWSTR lpstrFilter;
95 LPWSTR lpstrCustomFilter;
96 DWORD nMaxCustFilter;
97 DWORD nFilterIndex;
98 LPWSTR lpstrFile;
99 DWORD nMaxFile;
100 LPWSTR lpstrFileTitle;
101 DWORD nMaxFileTitle;
102 LPCWSTR lpstrInitialDir;
103 LPCWSTR lpstrTitle;
104 DWORD Flags;
105 WORD nFileOffset;
106 WORD nFileExtension;
107 LPCWSTR lpstrDefExt;
108 LPARAM lCustData;
109 LPOFNHOOKPROC lpfnHook;
110 LPCWSTR lpTemplateName;
111 } OPENFILENAMEW,*LPOPENFILENAMEW;
113 DECL_WINELIB_TYPE_AW(OPENFILENAME)
114 DECL_WINELIB_TYPE_AW(LPOPENFILENAME)
116 typedef struct
118 NMHDR hdr;
119 LPOPENFILENAMEA lpOFN;
120 LPSTR pszFile;
121 } OFNOTIFYA, *LPOFNOTIFYA;
123 typedef struct
125 NMHDR hdr;
126 LPOPENFILENAMEW lpOFN;
127 LPWSTR pszFile;
128 } OFNOTIFYW, *LPOFNOTIFYW;
130 DECL_WINELIB_TYPE_AW(OFNOTIFY)
131 DECL_WINELIB_TYPE_AW(LPOFNOTIFY)
133 typedef UINT (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
135 typedef struct {
136 DWORD lStructSize;
137 HWND hwndOwner;
138 HWND hInstance; /* Should be an HINSTANCE but MS made a typo */
139 DWORD rgbResult;
140 LPDWORD lpCustColors;
141 DWORD Flags;
142 DWORD lCustData;
143 LPCCHOOKPROC lpfnHook;
144 LPCSTR lpTemplateName;
145 } CHOOSECOLORA;
146 typedef CHOOSECOLORA *LPCHOOSECOLORA;
148 typedef struct {
149 DWORD lStructSize;
150 HWND hwndOwner;
151 HWND hInstance; /* Should be an HINSTANCE but MS made a typo */
152 DWORD rgbResult;
153 LPDWORD lpCustColors;
154 DWORD Flags;
155 DWORD lCustData;
156 LPCCHOOKPROC lpfnHook;
157 LPCWSTR lpTemplateName;
158 } CHOOSECOLORW;
159 typedef CHOOSECOLORW *LPCHOOSECOLORW;
161 DECL_WINELIB_TYPE_AW(CHOOSECOLOR)
162 DECL_WINELIB_TYPE_AW(LPCHOOSECOLOR)
165 #define CC_RGBINIT 0x00000001
166 #define CC_FULLOPEN 0x00000002
167 #define CC_PREVENTFULLOPEN 0x00000004
168 #define CC_SHOWHELP 0x00000008
169 #define CC_ENABLEHOOK 0x00000010
170 #define CC_ENABLETEMPLATE 0x00000020
171 #define CC_ENABLETEMPLATEHANDLE 0x00000040
172 #define CC_SOLIDCOLOR 0x00000080
173 #define CC_ANYCOLOR 0x00000100
175 typedef UINT (CALLBACK *LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
177 typedef struct {
178 DWORD lStructSize;
179 HWND hwndOwner;
180 HINSTANCE hInstance;
181 DWORD Flags;
182 LPSTR lpstrFindWhat;
183 LPSTR lpstrReplaceWith;
184 WORD wFindWhatLen;
185 WORD wReplaceWithLen;
186 LPARAM lCustData;
187 LPFRHOOKPROC lpfnHook;
188 LPCSTR lpTemplateName;
189 } FINDREPLACEA, *LPFINDREPLACEA;
191 typedef struct {
192 DWORD lStructSize;
193 HWND hwndOwner;
194 HINSTANCE hInstance;
195 DWORD Flags;
196 LPWSTR lpstrFindWhat;
197 LPWSTR lpstrReplaceWith;
198 WORD wFindWhatLen;
199 WORD wReplaceWithLen;
200 LPARAM lCustData;
201 LPFRHOOKPROC lpfnHook;
202 LPCWSTR lpTemplateName;
203 } FINDREPLACEW, *LPFINDREPLACEW;
205 DECL_WINELIB_TYPE_AW(FINDREPLACE)
206 DECL_WINELIB_TYPE_AW(LPFINDREPLACE)
208 #define FR_DOWN 0x00000001
209 #define FR_WHOLEWORD 0x00000002
210 #define FR_MATCHCASE 0x00000004
211 #define FR_FINDNEXT 0x00000008
212 #define FR_REPLACE 0x00000010
213 #define FR_REPLACEALL 0x00000020
214 #define FR_DIALOGTERM 0x00000040
215 #define FR_SHOWHELP 0x00000080
216 #define FR_ENABLEHOOK 0x00000100
217 #define FR_ENABLETEMPLATE 0x00000200
218 #define FR_NOUPDOWN 0x00000400
219 #define FR_NOMATCHCASE 0x00000800
220 #define FR_NOWHOLEWORD 0x00001000
221 #define FR_ENABLETEMPLATEHANDLE 0x00002000
222 #define FR_HIDEUPDOWN 0x00004000
223 #define FR_HIDEMATCHCASE 0x00008000
224 #define FR_HIDEWHOLEWORD 0x00010000
226 typedef UINT (CALLBACK *LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
228 typedef struct
230 UINT lStructSize;
231 HWND hwndOwner;
232 HDC hDC;
233 LPLOGFONTA lpLogFont;
234 INT iPointSize;
235 DWORD Flags;
236 COLORREF rgbColors;
237 LPARAM lCustData;
238 LPCFHOOKPROC lpfnHook;
239 LPCSTR lpTemplateName;
240 HINSTANCE hInstance;
241 LPSTR lpszStyle;
242 WORD nFontType;
243 WORD ___MISSING_ALIGNMENT__;
244 INT nSizeMin;
245 INT nSizeMax;
246 } CHOOSEFONTA, *LPCHOOSEFONTA;
248 typedef struct
250 UINT lStructSize;
251 HWND hwndOwner;
252 HDC hDC;
253 LPLOGFONTW lpLogFont;
254 INT iPointSize;
255 DWORD Flags;
256 COLORREF rgbColors;
257 LPARAM lCustData;
258 LPCFHOOKPROC lpfnHook;
259 LPCWSTR lpTemplateName;
260 HINSTANCE hInstance;
261 LPWSTR lpszStyle;
262 WORD nFontType;
263 WORD ___MISSING_ALIGNMENT__;
264 INT nSizeMin;
265 INT nSizeMax;
266 } CHOOSEFONTW, *LPCHOOSEFONTW;
268 DECL_WINELIB_TYPE_AW(CHOOSEFONT)
269 DECL_WINELIB_TYPE_AW(LPCHOOSEFONT)
271 #define CF_SCREENFONTS 0x00000001
272 #define CF_PRINTERFONTS 0x00000002
273 #define CF_BOTH (CF_SCREENFONTS | CF_PRINTERFONTS)
274 #define CF_SHOWHELP 0x00000004L
275 #define CF_ENABLEHOOK 0x00000008L
276 #define CF_ENABLETEMPLATE 0x00000010L
277 #define CF_ENABLETEMPLATEHANDLE 0x00000020L
278 #define CF_INITTOLOGFONTSTRUCT 0x00000040L
279 #define CF_USESTYLE 0x00000080L
280 #define CF_EFFECTS 0x00000100L
281 #define CF_APPLY 0x00000200L
282 #define CF_ANSIONLY 0x00000400L
283 #define CF_SCRIPTSONLY CF_ANSIONLY
284 #define CF_NOVECTORFONTS 0x00000800L
285 #define CF_NOOEMFONTS CF_NOVECTORFONTS
286 #define CF_NOSIMULATIONS 0x00001000L
287 #define CF_LIMITSIZE 0x00002000L
288 #define CF_FIXEDPITCHONLY 0x00004000L
289 #define CF_WYSIWYG 0x00008000L /* use with CF_SCREENFONTS & CF_PRINTERFONTS */
290 #define CF_FORCEFONTEXIST 0x00010000L
291 #define CF_SCALABLEONLY 0x00020000L
292 #define CF_TTONLY 0x00040000L
293 #define CF_NOFACESEL 0x00080000L
294 #define CF_NOSTYLESEL 0x00100000L
295 #define CF_NOSIZESEL 0x00200000L
296 #define CF_SELECTSCRIPT 0x00400000L
297 #define CF_NOSCRIPTSEL 0x00800000L
298 #define CF_NOVERTFONTS 0x01000000L
300 #define SIMULATED_FONTTYPE 0x8000
301 #define PRINTER_FONTTYPE 0x4000
302 #define SCREEN_FONTTYPE 0x2000
303 #define BOLD_FONTTYPE 0x0100
304 #define ITALIC_FONTTYPE 0x0200
305 #define REGULAR_FONTTYPE 0x0400
307 #define WM_CHOOSEFONT_GETLOGFONT (WM_USER + 1)
308 #define WM_CHOOSEFONT_SETLOGFONT (WM_USER + 101)
309 #define WM_CHOOSEFONT_SETFLAGS (WM_USER + 102)
311 #define LBSELCHSTRINGA "commdlg_LBSelChangedNotify"
312 #if defined(__GNUC__)
313 # define LBSELCHSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
314 'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 }
315 #elif defined(_MSC_VER)
316 # define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
317 #else
318 static const WCHAR LBSELCHSTRINGW[] = { 'c','o','m','m','d','l','g','_',
319 'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 };
320 #endif
321 #define LBSELCHSTRING WINELIB_NAME_AW(LBSELCHSTRING)
323 #define SHAREVISTRINGA "commdlg_ShareViolation"
324 #if defined(__GNUC__)
325 # define SHAREVISTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
326 'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 }
327 #elif defined(_MSC_VER)
328 # define SHAREVISTRINGW L"commdlg_ShareViolation"
329 #else
330 static const WCHAR SHAREVISTRINGW[] = { 'c','o','m','m','d','l','g','_',
331 'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 };
332 #endif
333 #define SHAREVISTRING WINELIB_NAME_AW(SHAREVISTRING)
335 #define FILEOKSTRINGA "commdlg_FileNameOK"
336 #if defined(__GNUC__)
337 # define FILEOKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
338 'F','i','l','e','N','a','m','e','O','K',0 }
339 #elif defined(_MSC_VER)
340 # define FILEOKSTRINGW L"commdlg_FileNameOK"
341 #else
342 static const WCHAR FILEOKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
343 'F','i','l','e','N','a','m','e','O','K',0 };
344 #endif
345 #define FILEOKSTRING WINELIB_NAME_AW(FILEOKSTRING)
347 #define COLOROKSTRINGA "commdlg_ColorOK"
348 #if defined(__GNUC__)
349 # define COLOROKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
350 'C','o','l','o','r','O','K',0 }
351 #elif defined(_MSC_VER)
352 # define COLOROKSTRINGW L"commdlg_ColorOK"
353 #else
354 static const WCHAR COLOROKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
355 'C','o','l','o','r','O','K',0 };
356 #endif
357 #define COLOROKSTRING WINELIB_NAME_AW(COLOROKSTRING)
359 #define SETRGBSTRINGA "commdlg_SetRGBColor"
360 #if defined(__GNUC__)
361 # define SETRGBSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
362 'S','e','t','R','G','B','C','o','l','o','r',0 }
363 #elif defined(_MSC_VER)
364 # define SETRGBSTRINGW L"commdlg_SetRGBColor"
365 #else
366 static const WCHAR SETRGBSTRINGW[] = { 'c','o','m','m','d','l','g','_',
367 'S','e','t','R','G','B','C','o','l','o','r',0 };
368 #endif
369 #define SETRGBSTRING WINELIB_NAME_AW(SETRGBSTRING)
371 #define FINDMSGSTRINGA "commdlg_FindReplace"
372 #if defined(__GNUC__)
373 # define FINDMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
374 'F','i','n','d','R','e','p','l','a','c','e',0 }
375 #elif defined(_MSC_VER)
376 # define FINDMSGSTRINGW L"commdlg_FindReplace"
377 #else
378 static const WCHAR FINDMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
379 'F','i','n','d','R','e','p','l','a','c','e',0 };
380 #endif
381 #define FINDMSGSTRING WINELIB_NAME_AW(FINDMSGSTRING)
383 #define HELPMSGSTRINGA "commdlg_help"
384 #if defined(__GNUC__)
385 # define HELPMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
386 'H','e','l','p',0 }
387 #elif defined(_MSC_VER)
388 # define HELPMSGSTRINGW L"commdlg_help"
389 #else
390 static const WCHAR HELPMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
391 'H','e','l','p',0 };
392 #endif
393 #define HELPMSGSTRING WINELIB_NAME_AW(HELPMSGSTRING)
396 #define CD_LBSELNOITEMS -1
397 #define CD_LBSELCHANGE 0
398 #define CD_LBSELSUB 1
399 #define CD_LBSELADD 2
401 #define CDN_FIRST (0U-601U)
402 #define CDN_LAST (0U-699U)
404 #define CDN_INITDONE (CDN_FIRST - 0x0000)
405 #define CDN_SELCHANGE (CDN_FIRST - 0x0001)
406 #define CDN_FOLDERCHANGE (CDN_FIRST - 0x0002)
407 #define CDN_SHAREVIOLATION (CDN_FIRST - 0x0003)
408 #define CDN_HELP (CDN_FIRST - 0x0004)
409 #define CDN_FILEOK (CDN_FIRST - 0x0005)
410 #define CDN_TYPECHANGE (CDN_FIRST - 0x0006)
412 #define CDM_FIRST (WM_USER + 100)
413 #define CDM_LAST (WM_USER + 200)
415 #define CDM_GETSPEC (CDM_FIRST + 0x0000)
416 #define CDM_GETFILEPATH (CDM_FIRST + 0x0001)
417 #define CDM_GETFOLDERPATH (CDM_FIRST + 0x0002)
418 #define CDM_GETFOLDERLIST (CDM_FIRST + 0x0003)
419 #define CDM_SETCONTROLTEXT (CDM_FIRST + 0x0004)
420 #define CDM_HIDECONTROL (CDM_FIRST + 0x0005)
421 #define CDM_SETDEFEXT (CDM_FIRST + 0x0006)
424 /* Messages to query information from the open or save dialogs */
426 #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
427 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
428 #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
429 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
430 #define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)
432 #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
433 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
434 #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
435 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
436 #define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)
438 #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
439 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
440 #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
441 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
442 #define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)
444 #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
445 (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
447 #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
448 (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
450 #define CommDlg_OpenSave_HideControl(_hdlg, _id) \
451 (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
453 #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
454 (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
456 #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
457 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
458 #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
459 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
460 #define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)
462 #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
463 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
464 #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
465 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
466 #define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)
468 #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
469 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
470 #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
471 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
472 #define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)
474 #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
475 (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
477 #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
478 (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
480 #define CommDlg_OpenSave_HideControl(_hdlg, _id) \
481 (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
483 #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
484 (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
487 typedef UINT (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
488 typedef UINT (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
490 typedef struct tagPDA
492 DWORD lStructSize;
493 HWND hwndOwner;
494 HGLOBAL hDevMode;
495 HGLOBAL hDevNames;
496 HDC hDC;
497 DWORD Flags;
498 WORD nFromPage;
499 WORD nToPage;
500 WORD nMinPage;
501 WORD nMaxPage;
502 WORD nCopies;
503 HINSTANCE hInstance;
504 LPARAM lCustData;
505 LPPRINTHOOKPROC lpfnPrintHook;
506 LPSETUPHOOKPROC lpfnSetupHook;
507 LPCSTR lpPrintTemplateName;
508 LPCSTR lpSetupTemplateName;
509 HGLOBAL hPrintTemplate;
510 HGLOBAL hSetupTemplate;
511 } PRINTDLGA, *LPPRINTDLGA;
513 typedef struct tagPDW
515 DWORD lStructSize;
516 HWND hwndOwner;
517 HGLOBAL hDevMode;
518 HGLOBAL hDevNames;
519 HDC hDC;
520 DWORD Flags;
521 WORD nFromPage;
522 WORD nToPage;
523 WORD nMinPage;
524 WORD nMaxPage;
525 WORD nCopies;
526 HINSTANCE hInstance;
527 LPARAM lCustData;
528 LPPRINTHOOKPROC lpfnPrintHook;
529 LPSETUPHOOKPROC lpfnSetupHook;
530 LPCWSTR lpPrintTemplateName;
531 LPCWSTR lpSetupTemplateName;
532 HGLOBAL hPrintTemplate;
533 HGLOBAL hSetupTemplate;
534 } PRINTDLGW, *LPPRINTDLGW;
536 DECL_WINELIB_TYPE_AW(PRINTDLG)
537 DECL_WINELIB_TYPE_AW(LPPRINTDLG)
539 #define PD_ALLPAGES 0x00000000
540 #define PD_SELECTION 0x00000001
541 #define PD_PAGENUMS 0x00000002
542 #define PD_NOSELECTION 0x00000004
543 #define PD_NOPAGENUMS 0x00000008
544 #define PD_COLLATE 0x00000010
545 #define PD_PRINTTOFILE 0x00000020
546 #define PD_PRINTSETUP 0x00000040
547 #define PD_NOWARNING 0x00000080
548 #define PD_RETURNDC 0x00000100
549 #define PD_RETURNIC 0x00000200
550 #define PD_RETURNDEFAULT 0x00000400
551 #define PD_SHOWHELP 0x00000800
552 #define PD_ENABLEPRINTHOOK 0x00001000
553 #define PD_ENABLESETUPHOOK 0x00002000
554 #define PD_ENABLEPRINTTEMPLATE 0x00004000
555 #define PD_ENABLESETUPTEMPLATE 0x00008000
556 #define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
557 #define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
558 #define PD_USEDEVMODECOPIES 0x00040000
559 #define PD_USEDEVMODECOPIESANDCOLLATE 0x00040000
560 #define PD_DISABLEPRINTTOFILE 0x00080000
561 #define PD_HIDEPRINTTOFILE 0x00100000
562 #define PD_NONETWORKBUTTON 0x00200000
564 typedef struct
566 WORD wDriverOffset;
567 WORD wDeviceOffset;
568 WORD wOutputOffset;
569 WORD wDefault;
570 } DEVNAMES;
571 typedef DEVNAMES * LPDEVNAMES;
573 #define DN_DEFAULTPRN 0x0001
575 /* PageSetupDlg stuff ... */
576 #define WM_PSD_PAGESETUPDLG (WM_USER )
577 #define WM_PSD_FULLPAGERECT (WM_USER+1)
578 #define WM_PSD_MINMARGINRECT (WM_USER+2)
579 #define WM_PSD_MARGINRECT (WM_USER+3)
580 #define WM_PSD_GREEKTEXTRECT (WM_USER+4)
581 #define WM_PSD_ENVSTAMPRECT (WM_USER+5)
582 #define WM_PSD_YAFULLPAGERECT (WM_USER+6)
584 typedef UINT (CALLBACK *LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
585 typedef UINT (CALLBACK *LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
587 typedef struct tagPSDA
589 DWORD lStructSize;
590 HWND hwndOwner;
591 HGLOBAL hDevMode;
592 HGLOBAL hDevNames;
593 DWORD Flags;
594 POINT ptPaperSize;
595 RECT rtMinMargin;
596 RECT rtMargin;
597 HINSTANCE hInstance;
598 LPARAM lCustData;
599 LPPAGESETUPHOOK lpfnPageSetupHook;
600 LPPAGEPAINTHOOK lpfnPagePaintHook;
601 LPCSTR lpPageSetupTemplateName;
602 HGLOBAL hPageSetupTemplate;
603 } PAGESETUPDLGA,*LPPAGESETUPDLGA;
605 typedef struct tagPSDW
607 DWORD lStructSize;
608 HWND hwndOwner;
609 HGLOBAL hDevMode;
610 HGLOBAL hDevNames;
611 DWORD Flags;
612 POINT ptPaperSize;
613 RECT rtMinMargin;
614 RECT rtMargin;
615 HINSTANCE hInstance;
616 LPARAM lCustData;
617 LPPAGESETUPHOOK lpfnPageSetupHook;
618 LPPAGEPAINTHOOK lpfnPagePaintHook;
619 LPCWSTR lpPageSetupTemplateName;
620 HGLOBAL hPageSetupTemplate;
621 } PAGESETUPDLGW,*LPPAGESETUPDLGW;
622 DECL_WINELIB_TYPE_AW(PAGESETUPDLG)
623 DECL_WINELIB_TYPE_AW(LPPAGESETUPDLG)
625 #define PSD_DEFAULTMINMARGINS 0x00000000
626 #define PSD_INWININIINTLMEASURE 0x00000000
628 #define PSD_MINMARGINS 0x00000001
629 #define PSD_MARGINS 0x00000002
630 #define PSD_INTHOUSANDTHSOFINCHES 0x00000004
631 #define PSD_INHUNDREDTHSOFMILLIMETERS 0x00000008
632 #define PSD_DISABLEMARGINS 0x00000010
633 #define PSD_DISABLEPRINTER 0x00000020
634 #define PSD_NOWARNING 0x00000080
635 #define PSD_DISABLEORIENTATION 0x00000100
636 #define PSD_RETURNDEFAULT 0x00000400
637 #define PSD_DISABLEPAPER 0x00000200
638 #define PSD_SHOWHELP 0x00000800
639 #define PSD_ENABLEPAGESETUPHOOK 0x00002000
640 #define PSD_ENABLEPAGESETUPTEMPLATE 0x00008000
641 #define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000
642 #define PSD_ENABLEPAGEPAINTHOOK 0x00040000
643 #define PSD_DISABLEPAGEPAINTING 0x00080000
646 BOOL WINAPI ChooseColorA(LPCHOOSECOLORA lpChCol);
647 BOOL WINAPI ChooseColorW(LPCHOOSECOLORW lpChCol);
648 #define ChooseColor WINELIB_NAME_AW(ChooseColor)
649 DWORD WINAPI CommDlgExtendedError(void);
650 HWND WINAPI FindTextA(LPFINDREPLACEA lpFind);
651 HWND WINAPI FindTextW(LPFINDREPLACEW lpFind);
652 #define FindText WINELIB_NAME_AW(FindText)
653 short WINAPI GetFileTitleA(LPCSTR lpFile, LPSTR lpTitle, UINT cbBuf);
654 short WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, UINT cbBuf);
655 #define GetFileTitle WINELIB_NAME_AW(GetFileTitle)
656 BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA ofn);
657 BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW ofn);
658 #define GetOpenFileName WINELIB_NAME_AW(GetOpenFileName)
659 BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA ofn);
660 BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn);
661 #define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
662 BOOL WINAPI PageSetupDlgA( LPPAGESETUPDLGA );
663 BOOL WINAPI PageSetupDlgW( LPPAGESETUPDLGW );
664 #define PageSetupDlg WINELIB_NAME_AW(PageSetupDlg)
665 BOOL WINAPI PrintDlgA( LPPRINTDLGA printdlg);
666 BOOL WINAPI PrintDlgW( LPPRINTDLGW printdlg);
667 #define PrintDlg WINELIB_NAME_AW(PrintDlg)
668 HWND WINAPI ReplaceTextA( LPFINDREPLACEA lpFind);
669 HWND WINAPI ReplaceTextW( LPFINDREPLACEW lpFind);
670 #define ReplaceText WINELIB_NAME_AW(ReplaceText)
671 BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
672 BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
673 #define ChooseFont WINELIB_NAME_AW(ChooseFont)
675 void COMDLG32_SetCommDlgExtendedError(DWORD err);
678 #include "poppack.h"
680 #ifdef __cplusplus
682 #endif
684 #endif /* __WINE_COMMDLG_H */