VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/commdlg.h@ 69505

Last change on this file since 69505 was 53206, checked in by vboxsync, 10 years ago

Devices/vmsvga: header fixes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 28.9 KB
Line 
1/*
2 * COMMDLG - Common Wine Dialog ... :-)
3 *
4 * Copyright (C) the Wine project
5 *
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.
10 *
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.
15 *
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21/*
22 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
23 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
24 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
25 * a choice of LGPL license versions is made available with the language indicating
26 * that LGPLv2 or any later version may be used, or where a choice of which version
27 * of the LGPL is applied is otherwise unspecified.
28 */
29
30#ifndef __WINE_COMMDLG_H
31#define __WINE_COMMDLG_H
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37#include <prsht.h>
38#ifndef _WIN64
39#include <pshpack1.h>
40#endif
41
42#ifndef SNDMSG
43#ifdef __cplusplus
44#define SNDMSG ::SendMessage
45#else /* __cplusplus */
46#define SNDMSG SendMessage
47#endif /* __cplusplus */
48#endif /* SNDMSG */
49
50#define OFN_READONLY 0x00000001
51#define OFN_OVERWRITEPROMPT 0x00000002
52#define OFN_HIDEREADONLY 0x00000004
53#define OFN_NOCHANGEDIR 0x00000008
54#define OFN_SHOWHELP 0x00000010
55#define OFN_ENABLEHOOK 0x00000020
56#define OFN_ENABLETEMPLATE 0x00000040
57#define OFN_ENABLETEMPLATEHANDLE 0x00000080
58#define OFN_NOVALIDATE 0x00000100
59#define OFN_ALLOWMULTISELECT 0x00000200
60#define OFN_EXTENSIONDIFFERENT 0x00000400
61#define OFN_PATHMUSTEXIST 0x00000800
62#define OFN_FILEMUSTEXIST 0x00001000
63#define OFN_CREATEPROMPT 0x00002000
64#define OFN_SHAREAWARE 0x00004000
65#define OFN_NOREADONLYRETURN 0x00008000
66#define OFN_NOTESTFILECREATE 0x00010000
67#define OFN_NONETWORKBUTTON 0x00020000
68#define OFN_NOLONGNAMES 0x00040000
69#define OFN_EXPLORER 0x00080000
70#define OFN_NODEREFERENCELINKS 0x00100000
71#define OFN_LONGNAMES 0x00200000
72#define OFN_ENABLEINCLUDENOTIFY 0x00400000
73#define OFN_ENABLESIZING 0x00800000
74#define OFN_DONTADDTORECENT 0x02000000
75#define OFN_FORCESHOWHIDDEN 0x10000000
76
77#define OFN_SHAREFALLTHROUGH 2
78#define OFN_SHARENOWARN 1
79#define OFN_SHAREWARN 0
80
81#define SAVE_DIALOG 1
82#define OPEN_DIALOG 2
83
84typedef UINT_PTR (CALLBACK *LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
85
86typedef struct tagOFNA {
87 DWORD lStructSize;
88 HWND hwndOwner;
89 HINSTANCE hInstance;
90 LPCSTR lpstrFilter;
91 LPSTR lpstrCustomFilter;
92 DWORD nMaxCustFilter;
93 DWORD nFilterIndex;
94 LPSTR lpstrFile;
95 DWORD nMaxFile;
96 LPSTR lpstrFileTitle;
97 DWORD nMaxFileTitle;
98 LPCSTR lpstrInitialDir;
99 LPCSTR lpstrTitle;
100 DWORD Flags;
101 WORD nFileOffset;
102 WORD nFileExtension;
103 LPCSTR lpstrDefExt;
104 LPARAM lCustData;
105 LPOFNHOOKPROC lpfnHook;
106 LPCSTR lpTemplateName;
107 void *pvReserved;
108 DWORD dwReserved;
109 DWORD FlagsEx;
110} OPENFILENAMEA,*LPOPENFILENAMEA;
111
112typedef struct tagOFNW {
113 DWORD lStructSize;
114 HWND hwndOwner;
115 HINSTANCE hInstance;
116 LPCWSTR lpstrFilter;
117 LPWSTR lpstrCustomFilter;
118 DWORD nMaxCustFilter;
119 DWORD nFilterIndex;
120 LPWSTR lpstrFile;
121 DWORD nMaxFile;
122 LPWSTR lpstrFileTitle;
123 DWORD nMaxFileTitle;
124 LPCWSTR lpstrInitialDir;
125 LPCWSTR lpstrTitle;
126 DWORD Flags;
127 WORD nFileOffset;
128 WORD nFileExtension;
129 LPCWSTR lpstrDefExt;
130 LPARAM lCustData;
131 LPOFNHOOKPROC lpfnHook;
132 LPCWSTR lpTemplateName;
133 void *pvReserved;
134 DWORD dwReserved;
135 DWORD FlagsEx;
136} OPENFILENAMEW,*LPOPENFILENAMEW;
137
138DECL_WINELIB_TYPE_AW(OPENFILENAME)
139DECL_WINELIB_TYPE_AW(LPOPENFILENAME)
140
141#ifndef CDSIZEOF_STRUCT
142#define CDSIZEOF_STRUCT(type,field) ((INT_PTR)&(((type *)0)->field) + sizeof(((type*)0)->field))
143#endif
144
145#define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName)
146#define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName)
147#define OPENFILENAME_SIZE_VERSION_400 WINELIB_NAME_AW(OPENFILENAME_SIZE_VERSION_400)
148
149
150typedef struct
151{
152 NMHDR hdr;
153 LPOPENFILENAMEA lpOFN;
154 LPSTR pszFile;
155} OFNOTIFYA, *LPOFNOTIFYA;
156
157typedef struct
158{
159 NMHDR hdr;
160 LPOPENFILENAMEW lpOFN;
161 LPWSTR pszFile;
162} OFNOTIFYW, *LPOFNOTIFYW;
163
164DECL_WINELIB_TYPE_AW(OFNOTIFY)
165DECL_WINELIB_TYPE_AW(LPOFNOTIFY)
166
167typedef struct _OFNOTIFYEXA
168{
169 NMHDR hdr;
170 LPOPENFILENAMEA lpOFN;
171 LPVOID psf;
172 LPVOID pidl;
173} OFNOTIFYEXA, *LPOFNOTIFYEXA;
174
175typedef struct _OFNOTIFYEXW
176{
177 NMHDR hdr;
178 LPOPENFILENAMEW lpOFN;
179 LPVOID psf;
180 LPVOID pidl;
181} OFNOTIFYEXW, *LPOFNOTIFYEXW;
182
183DECL_WINELIB_TYPE_AW(OFNOTIFYEX)
184DECL_WINELIB_TYPE_AW(LPOFNOTIFYEX)
185
186typedef UINT_PTR (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
187
188typedef struct {
189 DWORD lStructSize;
190 HWND hwndOwner;
191 HWND hInstance; /* Should be an HINSTANCE but MS made a typo */
192 DWORD rgbResult;
193 LPDWORD lpCustColors;
194 DWORD Flags;
195 DWORD lCustData;
196 LPCCHOOKPROC lpfnHook;
197 LPCSTR lpTemplateName;
198} CHOOSECOLORA;
199typedef CHOOSECOLORA *LPCHOOSECOLORA;
200
201typedef struct {
202 DWORD lStructSize;
203 HWND hwndOwner;
204 HWND hInstance; /* Should be an HINSTANCE but MS made a typo */
205 DWORD rgbResult;
206 LPDWORD lpCustColors;
207 DWORD Flags;
208 DWORD lCustData;
209 LPCCHOOKPROC lpfnHook;
210 LPCWSTR lpTemplateName;
211} CHOOSECOLORW;
212typedef CHOOSECOLORW *LPCHOOSECOLORW;
213
214DECL_WINELIB_TYPE_AW(CHOOSECOLOR)
215DECL_WINELIB_TYPE_AW(LPCHOOSECOLOR)
216
217
218#define CC_RGBINIT 0x00000001
219#define CC_FULLOPEN 0x00000002
220#define CC_PREVENTFULLOPEN 0x00000004
221#define CC_SHOWHELP 0x00000008
222#define CC_ENABLEHOOK 0x00000010
223#define CC_ENABLETEMPLATE 0x00000020
224#define CC_ENABLETEMPLATEHANDLE 0x00000040
225#define CC_SOLIDCOLOR 0x00000080
226#define CC_ANYCOLOR 0x00000100
227
228typedef UINT_PTR (CALLBACK *LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
229
230typedef struct {
231 DWORD lStructSize;
232 HWND hwndOwner;
233 HINSTANCE hInstance;
234 DWORD Flags;
235 LPSTR lpstrFindWhat;
236 LPSTR lpstrReplaceWith;
237 WORD wFindWhatLen;
238 WORD wReplaceWithLen;
239 LPARAM lCustData;
240 LPFRHOOKPROC lpfnHook;
241 LPCSTR lpTemplateName;
242} FINDREPLACEA, *LPFINDREPLACEA;
243
244typedef struct {
245 DWORD lStructSize;
246 HWND hwndOwner;
247 HINSTANCE hInstance;
248 DWORD Flags;
249 LPWSTR lpstrFindWhat;
250 LPWSTR lpstrReplaceWith;
251 WORD wFindWhatLen;
252 WORD wReplaceWithLen;
253 LPARAM lCustData;
254 LPFRHOOKPROC lpfnHook;
255 LPCWSTR lpTemplateName;
256} FINDREPLACEW, *LPFINDREPLACEW;
257
258DECL_WINELIB_TYPE_AW(FINDREPLACE)
259DECL_WINELIB_TYPE_AW(LPFINDREPLACE)
260
261#define FR_DOWN 0x00000001
262#define FR_WHOLEWORD 0x00000002
263#define FR_MATCHCASE 0x00000004
264#define FR_FINDNEXT 0x00000008
265#define FR_REPLACE 0x00000010
266#define FR_REPLACEALL 0x00000020
267#define FR_DIALOGTERM 0x00000040
268#define FR_SHOWHELP 0x00000080
269#define FR_ENABLEHOOK 0x00000100
270#define FR_ENABLETEMPLATE 0x00000200
271#define FR_NOUPDOWN 0x00000400
272#define FR_NOMATCHCASE 0x00000800
273#define FR_NOWHOLEWORD 0x00001000
274#define FR_ENABLETEMPLATEHANDLE 0x00002000
275#define FR_HIDEUPDOWN 0x00004000
276#define FR_HIDEMATCHCASE 0x00008000
277#define FR_HIDEWHOLEWORD 0x00010000
278#define FR_MATCHDIAC 0x20000000
279#define FR_MATCHKASHIDA 0x40000000
280#define FR_MATCHALEFHAMZA 0x80000000
281
282typedef UINT_PTR (CALLBACK *LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
283
284typedef struct tagCHOOSEFONTA
285{
286 UINT lStructSize;
287 HWND hwndOwner;
288 HDC hDC;
289 LPLOGFONTA lpLogFont;
290 INT iPointSize;
291 DWORD Flags;
292 COLORREF rgbColors;
293 LPARAM lCustData;
294 LPCFHOOKPROC lpfnHook;
295 LPCSTR lpTemplateName;
296 HINSTANCE hInstance;
297 LPSTR lpszStyle;
298 WORD nFontType;
299 WORD ___MISSING_ALIGNMENT__;
300 INT nSizeMin;
301 INT nSizeMax;
302} CHOOSEFONTA, *LPCHOOSEFONTA;
303
304typedef struct tagCHOOSEFONTW
305{
306 UINT lStructSize;
307 HWND hwndOwner;
308 HDC hDC;
309 LPLOGFONTW lpLogFont;
310 INT iPointSize;
311 DWORD Flags;
312 COLORREF rgbColors;
313 LPARAM lCustData;
314 LPCFHOOKPROC lpfnHook;
315 LPCWSTR lpTemplateName;
316 HINSTANCE hInstance;
317 LPWSTR lpszStyle;
318 WORD nFontType;
319 WORD ___MISSING_ALIGNMENT__;
320 INT nSizeMin;
321 INT nSizeMax;
322} CHOOSEFONTW, *LPCHOOSEFONTW;
323
324DECL_WINELIB_TYPE_AW(CHOOSEFONT)
325DECL_WINELIB_TYPE_AW(LPCHOOSEFONT)
326
327#define CF_SCREENFONTS 0x00000001
328#define CF_PRINTERFONTS 0x00000002
329#define CF_BOTH (CF_SCREENFONTS | CF_PRINTERFONTS)
330#define CF_SHOWHELP __MSABI_LONG(0x00000004)
331#define CF_ENABLEHOOK __MSABI_LONG(0x00000008)
332#define CF_ENABLETEMPLATE __MSABI_LONG(0x00000010)
333#define CF_ENABLETEMPLATEHANDLE __MSABI_LONG(0x00000020)
334#define CF_INITTOLOGFONTSTRUCT __MSABI_LONG(0x00000040)
335#define CF_USESTYLE __MSABI_LONG(0x00000080)
336#define CF_EFFECTS __MSABI_LONG(0x00000100)
337#define CF_APPLY __MSABI_LONG(0x00000200)
338#define CF_ANSIONLY __MSABI_LONG(0x00000400)
339#define CF_SCRIPTSONLY CF_ANSIONLY
340#define CF_NOVECTORFONTS __MSABI_LONG(0x00000800)
341#define CF_NOOEMFONTS CF_NOVECTORFONTS
342#define CF_NOSIMULATIONS __MSABI_LONG(0x00001000)
343#define CF_LIMITSIZE __MSABI_LONG(0x00002000)
344#define CF_FIXEDPITCHONLY __MSABI_LONG(0x00004000)
345#define CF_WYSIWYG __MSABI_LONG(0x00008000) /* use with CF_SCREENFONTS & CF_PRINTERFONTS */
346#define CF_FORCEFONTEXIST __MSABI_LONG(0x00010000)
347#define CF_SCALABLEONLY __MSABI_LONG(0x00020000)
348#define CF_TTONLY __MSABI_LONG(0x00040000)
349#define CF_NOFACESEL __MSABI_LONG(0x00080000)
350#define CF_NOSTYLESEL __MSABI_LONG(0x00100000)
351#define CF_NOSIZESEL __MSABI_LONG(0x00200000)
352#define CF_SELECTSCRIPT __MSABI_LONG(0x00400000)
353#define CF_NOSCRIPTSEL __MSABI_LONG(0x00800000)
354#define CF_NOVERTFONTS __MSABI_LONG(0x01000000)
355
356#define SIMULATED_FONTTYPE 0x8000
357#define PRINTER_FONTTYPE 0x4000
358#define SCREEN_FONTTYPE 0x2000
359#define BOLD_FONTTYPE 0x0100
360#define ITALIC_FONTTYPE 0x0200
361#define REGULAR_FONTTYPE 0x0400
362
363#define WM_CHOOSEFONT_GETLOGFONT (WM_USER + 1)
364#define WM_CHOOSEFONT_SETLOGFONT (WM_USER + 101)
365#define WM_CHOOSEFONT_SETFLAGS (WM_USER + 102)
366
367#define LBSELCHSTRINGA "commdlg_LBSelChangedNotify"
368#if defined(__GNUC__)
369# define LBSELCHSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
370 'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 }
371#elif defined(_MSC_VER)
372# define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
373#else
374static const WCHAR LBSELCHSTRINGW[] = { 'c','o','m','m','d','l','g','_',
375 'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 };
376#endif
377#define LBSELCHSTRING WINELIB_NAME_AW(LBSELCHSTRING)
378
379#define SHAREVISTRINGA "commdlg_ShareViolation"
380#if defined(__GNUC__)
381# define SHAREVISTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
382 'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 }
383#elif defined(_MSC_VER)
384# define SHAREVISTRINGW L"commdlg_ShareViolation"
385#else
386static const WCHAR SHAREVISTRINGW[] = { 'c','o','m','m','d','l','g','_',
387 'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 };
388#endif
389#define SHAREVISTRING WINELIB_NAME_AW(SHAREVISTRING)
390
391#define FILEOKSTRINGA "commdlg_FileNameOK"
392#if defined(__GNUC__)
393# define FILEOKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
394 'F','i','l','e','N','a','m','e','O','K',0 }
395#elif defined(_MSC_VER)
396# define FILEOKSTRINGW L"commdlg_FileNameOK"
397#else
398static const WCHAR FILEOKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
399 'F','i','l','e','N','a','m','e','O','K',0 };
400#endif
401#define FILEOKSTRING WINELIB_NAME_AW(FILEOKSTRING)
402
403#define COLOROKSTRINGA "commdlg_ColorOK"
404#if defined(__GNUC__)
405# define COLOROKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
406 'C','o','l','o','r','O','K',0 }
407#elif defined(_MSC_VER)
408# define COLOROKSTRINGW L"commdlg_ColorOK"
409#else
410static const WCHAR COLOROKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
411 'C','o','l','o','r','O','K',0 };
412#endif
413#define COLOROKSTRING WINELIB_NAME_AW(COLOROKSTRING)
414
415#define SETRGBSTRINGA "commdlg_SetRGBColor"
416#if defined(__GNUC__)
417# define SETRGBSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
418 'S','e','t','R','G','B','C','o','l','o','r',0 }
419#elif defined(_MSC_VER)
420# define SETRGBSTRINGW L"commdlg_SetRGBColor"
421#else
422static const WCHAR SETRGBSTRINGW[] = { 'c','o','m','m','d','l','g','_',
423 'S','e','t','R','G','B','C','o','l','o','r',0 };
424#endif
425#define SETRGBSTRING WINELIB_NAME_AW(SETRGBSTRING)
426
427#define FINDMSGSTRINGA "commdlg_FindReplace"
428#if defined(__GNUC__)
429# define FINDMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
430 'F','i','n','d','R','e','p','l','a','c','e',0 }
431#elif defined(_MSC_VER)
432# define FINDMSGSTRINGW L"commdlg_FindReplace"
433#else
434static const WCHAR FINDMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
435 'F','i','n','d','R','e','p','l','a','c','e',0 };
436#endif
437#define FINDMSGSTRING WINELIB_NAME_AW(FINDMSGSTRING)
438
439#define HELPMSGSTRINGA "commdlg_help"
440#if defined(__GNUC__)
441# define HELPMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
442 'H','e','l','p',0 }
443#elif defined(_MSC_VER)
444# define HELPMSGSTRINGW L"commdlg_help"
445#else
446static const WCHAR HELPMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
447 'H','e','l','p',0 };
448#endif
449#define HELPMSGSTRING WINELIB_NAME_AW(HELPMSGSTRING)
450
451#define CD_LBSELNOITEMS -1
452#define CD_LBSELCHANGE 0
453#define CD_LBSELSUB 1
454#define CD_LBSELADD 2
455
456#define CDN_FIRST (0U-601U)
457#define CDN_LAST (0U-699U)
458
459#define CDN_INITDONE (CDN_FIRST - 0x0000)
460#define CDN_SELCHANGE (CDN_FIRST - 0x0001)
461#define CDN_FOLDERCHANGE (CDN_FIRST - 0x0002)
462#define CDN_SHAREVIOLATION (CDN_FIRST - 0x0003)
463#define CDN_HELP (CDN_FIRST - 0x0004)
464#define CDN_FILEOK (CDN_FIRST - 0x0005)
465#define CDN_TYPECHANGE (CDN_FIRST - 0x0006)
466#define CDN_INCLUDEITEM (CDN_FIRST - 0x0007)
467
468#define CDM_FIRST (WM_USER + 100)
469#define CDM_LAST (WM_USER + 200)
470
471#define CDM_GETSPEC (CDM_FIRST + 0x0000)
472#define CDM_GETFILEPATH (CDM_FIRST + 0x0001)
473#define CDM_GETFOLDERPATH (CDM_FIRST + 0x0002)
474#define CDM_GETFOLDERIDLIST (CDM_FIRST + 0x0003)
475#define CDM_SETCONTROLTEXT (CDM_FIRST + 0x0004)
476#define CDM_HIDECONTROL (CDM_FIRST + 0x0005)
477#define CDM_SETDEFEXT (CDM_FIRST + 0x0006)
478
479
480/* Messages to query information from the open or save dialogs */
481
482#define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
483 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
484#define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
485 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
486#define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)
487
488#define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
489 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
490#define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
491 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
492#define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)
493
494#define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
495 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
496#define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
497 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
498#define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)
499
500#define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
501 (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
502
503#define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
504 (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
505
506#define CommDlg_OpenSave_HideControl(_hdlg, _id) \
507 (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
508
509#define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
510 (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
511
512#define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
513 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
514#define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
515 (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
516#define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)
517
518#define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
519 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
520#define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
521 (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
522#define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)
523
524#define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
525 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
526#define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
527 (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
528#define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)
529
530#define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
531 (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
532
533#define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
534 (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
535
536#define CommDlg_OpenSave_HideControl(_hdlg, _id) \
537 (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
538
539#define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
540 (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
541
542
543typedef UINT_PTR (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
544typedef UINT_PTR (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
545
546typedef struct tagPDA
547{
548 DWORD lStructSize;
549 HWND hwndOwner;
550 HGLOBAL hDevMode;
551 HGLOBAL hDevNames;
552 HDC hDC;
553 DWORD Flags;
554 WORD nFromPage;
555 WORD nToPage;
556 WORD nMinPage;
557 WORD nMaxPage;
558 WORD nCopies;
559 HINSTANCE hInstance;
560 LPARAM lCustData;
561 LPPRINTHOOKPROC lpfnPrintHook;
562 LPSETUPHOOKPROC lpfnSetupHook;
563 LPCSTR lpPrintTemplateName;
564 LPCSTR lpSetupTemplateName;
565 HGLOBAL hPrintTemplate;
566 HGLOBAL hSetupTemplate;
567} PRINTDLGA, *LPPRINTDLGA;
568
569typedef struct tagPDW
570{
571 DWORD lStructSize;
572 HWND hwndOwner;
573 HGLOBAL hDevMode;
574 HGLOBAL hDevNames;
575 HDC hDC;
576 DWORD Flags;
577 WORD nFromPage;
578 WORD nToPage;
579 WORD nMinPage;
580 WORD nMaxPage;
581 WORD nCopies;
582 HINSTANCE hInstance;
583 LPARAM lCustData;
584 LPPRINTHOOKPROC lpfnPrintHook;
585 LPSETUPHOOKPROC lpfnSetupHook;
586 LPCWSTR lpPrintTemplateName;
587 LPCWSTR lpSetupTemplateName;
588 HGLOBAL hPrintTemplate;
589 HGLOBAL hSetupTemplate;
590} PRINTDLGW, *LPPRINTDLGW;
591
592DECL_WINELIB_TYPE_AW(PRINTDLG)
593DECL_WINELIB_TYPE_AW(LPPRINTDLG)
594
595#define PD_ALLPAGES 0x00000000
596#define PD_SELECTION 0x00000001
597#define PD_PAGENUMS 0x00000002
598#define PD_NOSELECTION 0x00000004
599#define PD_NOPAGENUMS 0x00000008
600#define PD_COLLATE 0x00000010
601#define PD_PRINTTOFILE 0x00000020
602#define PD_PRINTSETUP 0x00000040
603#define PD_NOWARNING 0x00000080
604#define PD_RETURNDC 0x00000100
605#define PD_RETURNIC 0x00000200
606#define PD_RETURNDEFAULT 0x00000400
607#define PD_SHOWHELP 0x00000800
608#define PD_ENABLEPRINTHOOK 0x00001000
609#define PD_ENABLESETUPHOOK 0x00002000
610#define PD_ENABLEPRINTTEMPLATE 0x00004000
611#define PD_ENABLESETUPTEMPLATE 0x00008000
612#define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
613#define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
614#define PD_USEDEVMODECOPIES 0x00040000
615#define PD_USEDEVMODECOPIESANDCOLLATE 0x00040000
616#define PD_DISABLEPRINTTOFILE 0x00080000
617#define PD_HIDEPRINTTOFILE 0x00100000
618#define PD_NONETWORKBUTTON 0x00200000
619#define PD_CURRENTPAGE 0x00400000
620#define PD_NOCURRENTPAGE 0x00800000
621#define PD_EXCLUSIONFLAGS 0x01000000
622#define PD_USELARGETEMPLATE 0x10000000
623
624
625#define PD_EXCL_COPIESANDCOLLATE (DM_COPIES | DM_COLLATE)
626
627#define START_PAGE_GENERAL 0xffffffff
628
629#define PD_RESULT_CANCEL 0
630#define PD_RESULT_PRINT 1
631#define PD_RESULT_APPLY 2
632
633typedef struct
634{
635 WORD wDriverOffset;
636 WORD wDeviceOffset;
637 WORD wOutputOffset;
638 WORD wDefault;
639} DEVNAMES;
640typedef DEVNAMES * LPDEVNAMES;
641
642#define DN_DEFAULTPRN 0x0001
643
644/* PageSetupDlg stuff ... */
645#define WM_PSD_PAGESETUPDLG (WM_USER )
646#define WM_PSD_FULLPAGERECT (WM_USER+1)
647#define WM_PSD_MINMARGINRECT (WM_USER+2)
648#define WM_PSD_MARGINRECT (WM_USER+3)
649#define WM_PSD_GREEKTEXTRECT (WM_USER+4)
650#define WM_PSD_ENVSTAMPRECT (WM_USER+5)
651#define WM_PSD_YAFULLPAGERECT (WM_USER+6)
652
653typedef UINT (CALLBACK *LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
654typedef UINT (CALLBACK *LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
655
656typedef struct tagPSDA
657{
658 DWORD lStructSize;
659 HWND hwndOwner;
660 HGLOBAL hDevMode;
661 HGLOBAL hDevNames;
662 DWORD Flags;
663 POINT ptPaperSize;
664 RECT rtMinMargin;
665 RECT rtMargin;
666 HINSTANCE hInstance;
667 LPARAM lCustData;
668 LPPAGESETUPHOOK lpfnPageSetupHook;
669 LPPAGEPAINTHOOK lpfnPagePaintHook;
670 LPCSTR lpPageSetupTemplateName;
671 HGLOBAL hPageSetupTemplate;
672} PAGESETUPDLGA,*LPPAGESETUPDLGA;
673
674typedef struct tagPSDW
675{
676 DWORD lStructSize;
677 HWND hwndOwner;
678 HGLOBAL hDevMode;
679 HGLOBAL hDevNames;
680 DWORD Flags;
681 POINT ptPaperSize;
682 RECT rtMinMargin;
683 RECT rtMargin;
684 HINSTANCE hInstance;
685 LPARAM lCustData;
686 LPPAGESETUPHOOK lpfnPageSetupHook;
687 LPPAGEPAINTHOOK lpfnPagePaintHook;
688 LPCWSTR lpPageSetupTemplateName;
689 HGLOBAL hPageSetupTemplate;
690} PAGESETUPDLGW,*LPPAGESETUPDLGW;
691DECL_WINELIB_TYPE_AW(PAGESETUPDLG)
692DECL_WINELIB_TYPE_AW(LPPAGESETUPDLG)
693
694#define PSD_DEFAULTMINMARGINS 0x00000000
695#define PSD_INWININIINTLMEASURE 0x00000000
696
697#define PSD_MINMARGINS 0x00000001
698#define PSD_MARGINS 0x00000002
699#define PSD_INTHOUSANDTHSOFINCHES 0x00000004
700#define PSD_INHUNDREDTHSOFMILLIMETERS 0x00000008
701#define PSD_DISABLEMARGINS 0x00000010
702#define PSD_DISABLEPRINTER 0x00000020
703#define PSD_NOWARNING 0x00000080
704#define PSD_DISABLEORIENTATION 0x00000100
705#define PSD_RETURNDEFAULT 0x00000400
706#define PSD_DISABLEPAPER 0x00000200
707#define PSD_SHOWHELP 0x00000800
708#define PSD_ENABLEPAGESETUPHOOK 0x00002000
709#define PSD_ENABLEPAGESETUPTEMPLATE 0x00008000
710#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000
711#define PSD_ENABLEPAGEPAINTHOOK 0x00040000
712#define PSD_DISABLEPAGEPAINTING 0x00080000
713#define PSD_NONETWORKBUTTON 0x00200000
714
715typedef struct tagPRINTPAGERANGE
716{
717 DWORD nFromPage;
718 DWORD nToPage;
719} PRINTPAGERANGE, *LPPRINTPAGERANGE;
720
721typedef struct tagPDEXA
722{
723 DWORD lStructSize;
724 HWND hwndOwner;
725 HGLOBAL hDevMode;
726 HGLOBAL hDevNames;
727 HDC hDC;
728 DWORD Flags;
729 DWORD Flags2;
730 DWORD ExclusionFlags;
731 DWORD nPageRanges;
732 DWORD nMaxPageRanges;
733 LPPRINTPAGERANGE lpPageRanges;
734 DWORD nMinPage;
735 DWORD nMaxPage;
736 DWORD nCopies;
737 HINSTANCE hInstance;
738 LPCSTR lpPrintTemplateName;
739 void* /*LPUNKNOWN*/ lpCallback;
740 DWORD nPropertyPages;
741 HPROPSHEETPAGE* lphPropertyPages;
742 DWORD nStartPage;
743 DWORD dwResultAction;
744} PRINTDLGEXA, *LPPRINTDLGEXA;
745
746typedef struct tagPDEXW
747{
748 DWORD lStructSize;
749 HWND hwndOwner;
750 HGLOBAL hDevMode;
751 HGLOBAL hDevNames;
752 HDC hDC;
753 DWORD Flags;
754 DWORD Flags2;
755 DWORD ExclusionFlags;
756 DWORD nPageRanges;
757 DWORD nMaxPageRanges;
758 LPPRINTPAGERANGE lpPageRanges;
759 DWORD nMinPage;
760 DWORD nMaxPage;
761 DWORD nCopies;
762 HINSTANCE hInstance;
763 LPCWSTR lpPrintTemplateName;
764 void* /*LPUNKNOWN*/ lpCallback;
765 DWORD nPropertyPages;
766 HPROPSHEETPAGE* lphPropertyPages;
767 DWORD nStartPage;
768 DWORD dwResultAction;
769} PRINTDLGEXW, *LPPRINTDLGEXW;
770
771DECL_WINELIB_TYPE_AW(PRINTDLGEX)
772DECL_WINELIB_TYPE_AW(LPPRINTDLGEX)
773
774#ifdef STDMETHOD
775
776DEFINE_GUID(IID_IPrintDialogCallback, 0x5852a2c3,0x6530,0x11d1,0xb6,0xa3,0x00,0x00,0xf8,0x75,0x7b,0xf9);
777#define INTERFACE IPrintDialogCallback
778DECLARE_INTERFACE_(IPrintDialogCallback,IUnknown)
779{
780 /*** IUnknown methods ***/
781 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
782 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
783 STDMETHOD_(ULONG,Release)(THIS) PURE;
784 /*** IPrintDialogCallback methods ***/
785 STDMETHOD(InitDone)(THIS) PURE;
786 STDMETHOD(SelectionChange)(THIS) PURE;
787 STDMETHOD(HandleMessage)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT *) PURE;
788};
789#undef INTERFACE
790
791DEFINE_GUID(IID_IPrintDialogServices, 0x509aaeda,0x5639,0x11d1,0xb6,0xa1,0x00,0x00,0xf8,0x75,0x7b,0xf9);
792#define INTERFACE IPrintDialogServices
793DECLARE_INTERFACE_(IPrintDialogServices,IUnknown)
794{
795 /*** IUnknown methods ***/
796 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
797 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
798 STDMETHOD_(ULONG,Release)(THIS) PURE;
799 /*** IPrintDialogServices methods ***/
800 STDMETHOD(GetCurrentDevMode)(THIS_ LPDEVMODEW,UINT *) PURE;
801 STDMETHOD(GetCurrentPrinterName)(THIS_ LPWSTR,UINT *) PURE;
802 STDMETHOD(GetCurrentPortName)(THIS_ LPWSTR,UINT *) PURE;
803};
804#undef INTERFACE
805
806#endif /* STDMETHOD */
807
808BOOL WINAPI ChooseColorA(LPCHOOSECOLORA lpChCol);
809BOOL WINAPI ChooseColorW(LPCHOOSECOLORW lpChCol);
810#define ChooseColor WINELIB_NAME_AW(ChooseColor)
811DWORD WINAPI CommDlgExtendedError(void);
812HWND WINAPI FindTextA(LPFINDREPLACEA lpFind);
813HWND WINAPI FindTextW(LPFINDREPLACEW lpFind);
814#define FindText WINELIB_NAME_AW(FindText)
815short WINAPI GetFileTitleA(LPCSTR lpFile, LPSTR lpTitle, WORD cbBuf);
816short WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, WORD cbBuf);
817#define GetFileTitle WINELIB_NAME_AW(GetFileTitle)
818BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA ofn);
819BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW ofn);
820#define GetOpenFileName WINELIB_NAME_AW(GetOpenFileName)
821BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA ofn);
822BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn);
823#define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
824BOOL WINAPI PageSetupDlgA( LPPAGESETUPDLGA );
825BOOL WINAPI PageSetupDlgW( LPPAGESETUPDLGW );
826#define PageSetupDlg WINELIB_NAME_AW(PageSetupDlg)
827BOOL WINAPI PrintDlgA( LPPRINTDLGA printdlg);
828BOOL WINAPI PrintDlgW( LPPRINTDLGW printdlg);
829#define PrintDlg WINELIB_NAME_AW(PrintDlg)
830HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
831HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
832#define PrintDlgEx WINELIB_NAME_AW(PrintDlgEx)
833HWND WINAPI ReplaceTextA( LPFINDREPLACEA lpFind);
834HWND WINAPI ReplaceTextW( LPFINDREPLACEW lpFind);
835#define ReplaceText WINELIB_NAME_AW(ReplaceText)
836BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
837BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
838#define ChooseFont WINELIB_NAME_AW(ChooseFont)
839
840void COMDLG32_SetCommDlgExtendedError(DWORD err);
841
842
843#ifndef _WIN64
844#include <poppack.h>
845#endif
846
847#ifdef __cplusplus
848}
849#endif
850
851#endif /* __WINE_COMMDLG_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette