commdlg.h 28.4 KB
Newer Older
1
/*
Alexandre Julliard's avatar
Alexandre Julliard committed
2
 * COMMDLG - Common Wine Dialog ... :-)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
 *
 * Copyright (C) the Wine project
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * 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
Alexandre Julliard's avatar
Alexandre Julliard committed
19 20
 */

Alexandre Julliard's avatar
Alexandre Julliard committed
21 22 23 24 25 26
#ifndef __WINE_COMMDLG_H
#define __WINE_COMMDLG_H

#ifdef __cplusplus
extern "C" {
#endif
Alexandre Julliard's avatar
Alexandre Julliard committed
27

28
#include <prsht.h>
29
#ifndef _WIN64
30
#include <pshpack1.h>
31
#endif
Alexandre Julliard's avatar
Alexandre Julliard committed
32

György 'Nog' Jeney's avatar
György 'Nog' Jeney committed
33 34 35 36 37 38 39 40
#ifndef SNDMSG
#ifdef __cplusplus
#define SNDMSG ::SendMessage
#else   /* __cplusplus */
#define SNDMSG SendMessage
#endif  /* __cplusplus */
#endif  /* SNDMSG */

Alexandre Julliard's avatar
Alexandre Julliard committed
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
#define OFN_READONLY                 0x00000001
#define OFN_OVERWRITEPROMPT          0x00000002
#define OFN_HIDEREADONLY             0x00000004
#define OFN_NOCHANGEDIR              0x00000008
#define OFN_SHOWHELP                 0x00000010
#define OFN_ENABLEHOOK               0x00000020
#define OFN_ENABLETEMPLATE           0x00000040
#define OFN_ENABLETEMPLATEHANDLE     0x00000080
#define OFN_NOVALIDATE               0x00000100
#define OFN_ALLOWMULTISELECT         0x00000200
#define OFN_EXTENSIONDIFFERENT       0x00000400
#define OFN_PATHMUSTEXIST            0x00000800
#define OFN_FILEMUSTEXIST            0x00001000
#define OFN_CREATEPROMPT             0x00002000
#define OFN_SHAREAWARE               0x00004000
#define OFN_NOREADONLYRETURN         0x00008000
#define OFN_NOTESTFILECREATE         0x00010000
58
#define OFN_NONETWORKBUTTON          0x00020000
Alexandre Julliard's avatar
Alexandre Julliard committed
59 60 61 62
#define OFN_NOLONGNAMES              0x00040000
#define OFN_EXPLORER                 0x00080000
#define OFN_NODEREFERENCELINKS       0x00100000
#define OFN_LONGNAMES                0x00200000
63 64
#define OFN_ENABLEINCLUDENOTIFY      0x00400000
#define OFN_ENABLESIZING             0x00800000
65 66
#define OFN_DONTADDTORECENT          0x02000000
#define OFN_FORCESHOWHIDDEN          0x10000000
Alexandre Julliard's avatar
Alexandre Julliard committed
67

68 69
#define OFN_EX_NOPLACESBAR           0x00000001

Alexandre Julliard's avatar
Alexandre Julliard committed
70 71 72 73
#define OFN_SHAREFALLTHROUGH     2
#define OFN_SHARENOWARN          1
#define OFN_SHAREWARN            0

74 75
#define SAVE_DIALOG  1
#define OPEN_DIALOG  2
76

77
typedef UINT_PTR (CALLBACK *LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
78

79
typedef struct tagOFNA {
Alexandre Julliard's avatar
Alexandre Julliard committed
80
	DWORD		lStructSize;
81 82
	HWND		hwndOwner;
	HINSTANCE	hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
	LPCSTR		lpstrFilter;
	LPSTR		lpstrCustomFilter;
	DWORD		nMaxCustFilter;
	DWORD		nFilterIndex;
	LPSTR		lpstrFile;
	DWORD		nMaxFile;
	LPSTR		lpstrFileTitle;
	DWORD		nMaxFileTitle;
	LPCSTR		lpstrInitialDir;
	LPCSTR		lpstrTitle;
	DWORD		Flags;
	WORD		nFileOffset;
	WORD		nFileExtension;
	LPCSTR		lpstrDefExt;
	LPARAM		lCustData;
98
	LPOFNHOOKPROC	lpfnHook;
Alexandre Julliard's avatar
Alexandre Julliard committed
99
	LPCSTR		lpTemplateName;
100 101 102
        void           *pvReserved;
        DWORD           dwReserved;
        DWORD           FlagsEx;
103
} OPENFILENAMEA,*LPOPENFILENAMEA;
Alexandre Julliard's avatar
Alexandre Julliard committed
104

105
typedef struct tagOFNW {
Alexandre Julliard's avatar
Alexandre Julliard committed
106
	DWORD		lStructSize;
107 108
	HWND		hwndOwner;
	HINSTANCE	hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
	LPCWSTR		lpstrFilter;
	LPWSTR		lpstrCustomFilter;
	DWORD		nMaxCustFilter;
	DWORD		nFilterIndex;
	LPWSTR		lpstrFile;
	DWORD		nMaxFile;
	LPWSTR		lpstrFileTitle;
	DWORD		nMaxFileTitle;
	LPCWSTR		lpstrInitialDir;
	LPCWSTR		lpstrTitle;
	DWORD		Flags;
	WORD		nFileOffset;
	WORD		nFileExtension;
	LPCWSTR		lpstrDefExt;
	LPARAM		lCustData;
124
	LPOFNHOOKPROC	lpfnHook;
Alexandre Julliard's avatar
Alexandre Julliard committed
125
	LPCWSTR		lpTemplateName;
126 127 128
        void           *pvReserved;
        DWORD           dwReserved;
        DWORD           FlagsEx;
129
} OPENFILENAMEW,*LPOPENFILENAMEW;
Alexandre Julliard's avatar
Alexandre Julliard committed
130

Alexandre Julliard's avatar
Alexandre Julliard committed
131 132
DECL_WINELIB_TYPE_AW(OPENFILENAME)
DECL_WINELIB_TYPE_AW(LPOPENFILENAME)
Alexandre Julliard's avatar
Alexandre Julliard committed
133

134
#ifndef CDSIZEOF_STRUCT
135
#define CDSIZEOF_STRUCT(type,field) ((INT_PTR)&(((type *)0)->field) + sizeof(((type*)0)->field))
136 137 138 139 140 141 142
#endif

#define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName)
#define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName)
#define OPENFILENAME_SIZE_VERSION_400 WINELIB_NAME_AW(OPENFILENAME_SIZE_VERSION_400)


143 144 145
typedef struct
{
	NMHDR           hdr;
146
	LPOPENFILENAMEA lpOFN;
147
	LPSTR           pszFile;
148
} OFNOTIFYA, *LPOFNOTIFYA;
149 150 151 152

typedef struct
{
	NMHDR           hdr;
153
	LPOPENFILENAMEW lpOFN;
154
	LPWSTR          pszFile;
155
} OFNOTIFYW, *LPOFNOTIFYW;
156 157 158

DECL_WINELIB_TYPE_AW(OFNOTIFY)
DECL_WINELIB_TYPE_AW(LPOFNOTIFY)
159

160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
typedef struct _OFNOTIFYEXA
{
        NMHDR           hdr;
        LPOPENFILENAMEA lpOFN;
        LPVOID          psf;
        LPVOID          pidl;
} OFNOTIFYEXA, *LPOFNOTIFYEXA;

typedef struct _OFNOTIFYEXW
{
        NMHDR           hdr;
        LPOPENFILENAMEW lpOFN;
        LPVOID          psf;
        LPVOID          pidl;
} OFNOTIFYEXW, *LPOFNOTIFYEXW;

DECL_WINELIB_TYPE_AW(OFNOTIFYEX)
DECL_WINELIB_TYPE_AW(LPOFNOTIFYEX)

179
typedef UINT_PTR (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
Alexandre Julliard's avatar
Alexandre Julliard committed
180 181 182

typedef struct {
	DWORD		lStructSize;
183
	HWND		hwndOwner;
184
	HWND		hInstance; /* Should be an HINSTANCE but MS made a typo */
185 186
	COLORREF        rgbResult;
	COLORREF       *lpCustColors;
Alexandre Julliard's avatar
Alexandre Julliard committed
187
	DWORD 		Flags;
188
	LPARAM		lCustData;
Alexandre Julliard's avatar
Alexandre Julliard committed
189 190
        LPCCHOOKPROC    lpfnHook;
	LPCSTR 		lpTemplateName;
191 192
} CHOOSECOLORA;
typedef CHOOSECOLORA *LPCHOOSECOLORA;
Alexandre Julliard's avatar
Alexandre Julliard committed
193 194 195

typedef struct {
	DWORD		lStructSize;
196
	HWND		hwndOwner;
197
	HWND		hInstance; /* Should be an HINSTANCE but MS made a typo */
198 199
	COLORREF        rgbResult;
	COLORREF       *lpCustColors;
Alexandre Julliard's avatar
Alexandre Julliard committed
200
	DWORD 		Flags;
201
	LPARAM		lCustData;
Alexandre Julliard's avatar
Alexandre Julliard committed
202 203
        LPCCHOOKPROC    lpfnHook;
	LPCWSTR 	lpTemplateName;
204 205
} CHOOSECOLORW;
typedef CHOOSECOLORW *LPCHOOSECOLORW;
Alexandre Julliard's avatar
Alexandre Julliard committed
206

Alexandre Julliard's avatar
Alexandre Julliard committed
207 208
DECL_WINELIB_TYPE_AW(CHOOSECOLOR)
DECL_WINELIB_TYPE_AW(LPCHOOSECOLOR)
Alexandre Julliard's avatar
Alexandre Julliard committed
209

Alexandre Julliard's avatar
Alexandre Julliard committed
210 211 212 213 214 215 216 217

#define CC_RGBINIT               0x00000001
#define CC_FULLOPEN              0x00000002
#define CC_PREVENTFULLOPEN       0x00000004
#define CC_SHOWHELP              0x00000008
#define CC_ENABLEHOOK            0x00000010
#define CC_ENABLETEMPLATE        0x00000020
#define CC_ENABLETEMPLATEHANDLE  0x00000040
218 219
#define CC_SOLIDCOLOR            0x00000080
#define CC_ANYCOLOR              0x00000100
Alexandre Julliard's avatar
Alexandre Julliard committed
220

221
typedef UINT_PTR (CALLBACK *LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
222

Alexandre Julliard's avatar
Alexandre Julliard committed
223 224
typedef struct {
	DWORD		lStructSize;
225 226
	HWND		hwndOwner;
	HINSTANCE	hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
227 228 229 230 231 232
	DWORD		Flags;
	LPSTR		lpstrFindWhat;
	LPSTR		lpstrReplaceWith;
	WORD		wFindWhatLen;
	WORD 		wReplaceWithLen;
	LPARAM 		lCustData;
233
        LPFRHOOKPROC    lpfnHook;
Alexandre Julliard's avatar
Alexandre Julliard committed
234
	LPCSTR 		lpTemplateName;
235
} FINDREPLACEA, *LPFINDREPLACEA;
Alexandre Julliard's avatar
Alexandre Julliard committed
236 237 238

typedef struct {
	DWORD		lStructSize;
239 240
	HWND		hwndOwner;
	HINSTANCE	hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
241 242 243 244 245 246
	DWORD		Flags;
	LPWSTR		lpstrFindWhat;
	LPWSTR		lpstrReplaceWith;
	WORD		wFindWhatLen;
	WORD 		wReplaceWithLen;
	LPARAM 		lCustData;
247
        LPFRHOOKPROC    lpfnHook;
Alexandre Julliard's avatar
Alexandre Julliard committed
248
	LPCWSTR		lpTemplateName;
249
} FINDREPLACEW, *LPFINDREPLACEW;
250

Alexandre Julliard's avatar
Alexandre Julliard committed
251 252
DECL_WINELIB_TYPE_AW(FINDREPLACE)
DECL_WINELIB_TYPE_AW(LPFINDREPLACE)
253

Alexandre Julliard's avatar
Alexandre Julliard committed
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
#define FR_DOWN                         0x00000001
#define FR_WHOLEWORD                    0x00000002
#define FR_MATCHCASE                    0x00000004
#define FR_FINDNEXT                     0x00000008
#define FR_REPLACE                      0x00000010
#define FR_REPLACEALL                   0x00000020
#define FR_DIALOGTERM                   0x00000040
#define FR_SHOWHELP                     0x00000080
#define FR_ENABLEHOOK                   0x00000100
#define FR_ENABLETEMPLATE               0x00000200
#define FR_NOUPDOWN                     0x00000400
#define FR_NOMATCHCASE                  0x00000800
#define FR_NOWHOLEWORD                  0x00001000
#define FR_ENABLETEMPLATEHANDLE         0x00002000
#define FR_HIDEUPDOWN                   0x00004000
#define FR_HIDEMATCHCASE                0x00008000
#define FR_HIDEWHOLEWORD                0x00010000
271 272 273
#define FR_MATCHDIAC                    0x20000000
#define FR_MATCHKASHIDA                 0x40000000
#define FR_MATCHALEFHAMZA               0x80000000
Alexandre Julliard's avatar
Alexandre Julliard committed
274

275
typedef UINT_PTR (CALLBACK *LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
276

277
typedef struct tagCHOOSEFONTA
Alexandre Julliard's avatar
Alexandre Julliard committed
278
{
279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294
	UINT  	lStructSize;
	HWND 		hwndOwner;
	HDC  		hDC;
	LPLOGFONTA    lpLogFont;
	INT		iPointSize;
	DWORD		Flags;
	COLORREF	rgbColors;
	LPARAM		lCustData;
	LPCFHOOKPROC 	lpfnHook;
	LPCSTR		lpTemplateName;
	HINSTANCE	hInstance;
	LPSTR		lpszStyle;
	WORD		nFontType;
	WORD	___MISSING_ALIGNMENT__;
	INT   	nSizeMin;
	INT		nSizeMax;
295
} CHOOSEFONTA, *LPCHOOSEFONTA;
Alexandre Julliard's avatar
Alexandre Julliard committed
296

297
typedef struct tagCHOOSEFONTW
Alexandre Julliard's avatar
Alexandre Julliard committed
298
{
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314
	UINT  	lStructSize;
	HWND 		hwndOwner;
	HDC  		hDC;
	LPLOGFONTW    lpLogFont;
	INT		iPointSize;
	DWORD		Flags;
	COLORREF	rgbColors;
	LPARAM		lCustData;
	LPCFHOOKPROC 	lpfnHook;
	LPCWSTR		lpTemplateName;
	HINSTANCE	hInstance;
	LPWSTR		lpszStyle;
	WORD		nFontType;
	WORD	___MISSING_ALIGNMENT__;
	INT   	nSizeMin;
	INT		nSizeMax;
315
} CHOOSEFONTW, *LPCHOOSEFONTW;
Alexandre Julliard's avatar
Alexandre Julliard committed
316

Alexandre Julliard's avatar
Alexandre Julliard committed
317 318
DECL_WINELIB_TYPE_AW(CHOOSEFONT)
DECL_WINELIB_TYPE_AW(LPCHOOSEFONT)
Alexandre Julliard's avatar
Alexandre Julliard committed
319 320 321 322

#define CF_SCREENFONTS               0x00000001
#define CF_PRINTERFONTS              0x00000002
#define CF_BOTH                      (CF_SCREENFONTS | CF_PRINTERFONTS)
323 324 325 326 327 328 329 330 331
#define CF_SHOWHELP                  __MSABI_LONG(0x00000004)
#define CF_ENABLEHOOK                __MSABI_LONG(0x00000008)
#define CF_ENABLETEMPLATE            __MSABI_LONG(0x00000010)
#define CF_ENABLETEMPLATEHANDLE      __MSABI_LONG(0x00000020)
#define CF_INITTOLOGFONTSTRUCT       __MSABI_LONG(0x00000040)
#define CF_USESTYLE                  __MSABI_LONG(0x00000080)
#define CF_EFFECTS                   __MSABI_LONG(0x00000100)
#define CF_APPLY                     __MSABI_LONG(0x00000200)
#define CF_ANSIONLY                  __MSABI_LONG(0x00000400)
Alexandre Julliard's avatar
Alexandre Julliard committed
332
#define CF_SCRIPTSONLY               CF_ANSIONLY
333
#define CF_NOVECTORFONTS             __MSABI_LONG(0x00000800)
Alexandre Julliard's avatar
Alexandre Julliard committed
334
#define CF_NOOEMFONTS                CF_NOVECTORFONTS
335 336 337 338 339 340 341 342 343 344 345 346 347
#define CF_NOSIMULATIONS             __MSABI_LONG(0x00001000)
#define CF_LIMITSIZE                 __MSABI_LONG(0x00002000)
#define CF_FIXEDPITCHONLY            __MSABI_LONG(0x00004000)
#define CF_WYSIWYG                   __MSABI_LONG(0x00008000) /* use with CF_SCREENFONTS & CF_PRINTERFONTS */
#define CF_FORCEFONTEXIST            __MSABI_LONG(0x00010000)
#define CF_SCALABLEONLY              __MSABI_LONG(0x00020000)
#define CF_TTONLY                    __MSABI_LONG(0x00040000)
#define CF_NOFACESEL                 __MSABI_LONG(0x00080000)
#define CF_NOSTYLESEL                __MSABI_LONG(0x00100000)
#define CF_NOSIZESEL                 __MSABI_LONG(0x00200000)
#define CF_SELECTSCRIPT              __MSABI_LONG(0x00400000)
#define CF_NOSCRIPTSEL               __MSABI_LONG(0x00800000)
#define CF_NOVERTFONTS               __MSABI_LONG(0x01000000)
Alexandre Julliard's avatar
Alexandre Julliard committed
348 349 350 351 352 353 354 355 356

#define SIMULATED_FONTTYPE      0x8000
#define PRINTER_FONTTYPE        0x4000
#define SCREEN_FONTTYPE         0x2000
#define BOLD_FONTTYPE           0x0100
#define ITALIC_FONTTYPE         0x0200
#define REGULAR_FONTTYPE        0x0400

#define WM_CHOOSEFONT_GETLOGFONT        (WM_USER + 1)
Alexandre Julliard's avatar
Alexandre Julliard committed
357 358
#define WM_CHOOSEFONT_SETLOGFONT	(WM_USER + 101)
#define WM_CHOOSEFONT_SETFLAGS		(WM_USER + 102)
Alexandre Julliard's avatar
Alexandre Julliard committed
359

360
#define LBSELCHSTRINGA  "commdlg_LBSelChangedNotify"
361 362 363 364 365 366
#if defined(__GNUC__)
# define LBSELCHSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
  'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 }
#elif defined(_MSC_VER)
# define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
#else
367 368
static const WCHAR LBSELCHSTRINGW[] = { 'c','o','m','m','d','l','g','_',
  'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 };
369
#endif
370 371 372
#define LBSELCHSTRING   WINELIB_NAME_AW(LBSELCHSTRING)

#define SHAREVISTRINGA  "commdlg_ShareViolation"
373 374 375 376 377 378
#if defined(__GNUC__)
# define SHAREVISTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
  'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 }
#elif defined(_MSC_VER)
# define SHAREVISTRINGW L"commdlg_ShareViolation"
#else
379 380
static const WCHAR SHAREVISTRINGW[] = { 'c','o','m','m','d','l','g','_',
  'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 };
381
#endif
382 383 384
#define SHAREVISTRING   WINELIB_NAME_AW(SHAREVISTRING)

#define FILEOKSTRINGA   "commdlg_FileNameOK"
385 386 387 388 389 390
#if defined(__GNUC__)
# define FILEOKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
  'F','i','l','e','N','a','m','e','O','K',0 }
#elif defined(_MSC_VER)
# define FILEOKSTRINGW  L"commdlg_FileNameOK"
#else
391 392
static const WCHAR FILEOKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
  'F','i','l','e','N','a','m','e','O','K',0 };
393
#endif
394 395 396
#define FILEOKSTRING    WINELIB_NAME_AW(FILEOKSTRING)

#define COLOROKSTRINGA  "commdlg_ColorOK"
397 398 399 400 401 402
#if defined(__GNUC__)
# define COLOROKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
  'C','o','l','o','r','O','K',0 }
#elif defined(_MSC_VER)
# define COLOROKSTRINGW L"commdlg_ColorOK"
#else
403 404
static const WCHAR COLOROKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
  'C','o','l','o','r','O','K',0 };
405
#endif
406 407 408
#define COLOROKSTRING   WINELIB_NAME_AW(COLOROKSTRING)

#define SETRGBSTRINGA   "commdlg_SetRGBColor"
409 410 411 412 413 414
#if defined(__GNUC__)
# define SETRGBSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
  'S','e','t','R','G','B','C','o','l','o','r',0 }
#elif defined(_MSC_VER)
# define SETRGBSTRINGW  L"commdlg_SetRGBColor"
#else
415 416
static const WCHAR SETRGBSTRINGW[] = { 'c','o','m','m','d','l','g','_',
  'S','e','t','R','G','B','C','o','l','o','r',0 };
417
#endif
418 419 420
#define SETRGBSTRING    WINELIB_NAME_AW(SETRGBSTRING)

#define FINDMSGSTRINGA  "commdlg_FindReplace"
421 422 423 424 425 426
#if defined(__GNUC__)
# define FINDMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
  'F','i','n','d','R','e','p','l','a','c','e',0 }
#elif defined(_MSC_VER)
# define FINDMSGSTRINGW L"commdlg_FindReplace"
#else
427 428
static const WCHAR FINDMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
  'F','i','n','d','R','e','p','l','a','c','e',0 };
429
#endif
430 431 432
#define FINDMSGSTRING   WINELIB_NAME_AW(FINDMSGSTRING)

#define HELPMSGSTRINGA  "commdlg_help"
433 434 435 436 437 438
#if defined(__GNUC__)
# define HELPMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
  'H','e','l','p',0 }
#elif defined(_MSC_VER)
# define HELPMSGSTRINGW L"commdlg_help"
#else
439 440
static const WCHAR HELPMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
  'H','e','l','p',0 };
441
#endif
442 443
#define HELPMSGSTRING   WINELIB_NAME_AW(HELPMSGSTRING)

Alexandre Julliard's avatar
Alexandre Julliard committed
444 445 446 447 448
#define CD_LBSELNOITEMS -1
#define CD_LBSELCHANGE   0
#define CD_LBSELSUB      1
#define CD_LBSELADD      2

449 450 451 452 453 454 455 456 457 458
#define CDN_FIRST   (0U-601U)
#define CDN_LAST    (0U-699U)

#define CDN_INITDONE            (CDN_FIRST - 0x0000)
#define CDN_SELCHANGE           (CDN_FIRST - 0x0001)
#define CDN_FOLDERCHANGE        (CDN_FIRST - 0x0002)
#define CDN_SHAREVIOLATION      (CDN_FIRST - 0x0003)
#define CDN_HELP                (CDN_FIRST - 0x0004)
#define CDN_FILEOK              (CDN_FIRST - 0x0005)
#define CDN_TYPECHANGE          (CDN_FIRST - 0x0006)
459
#define CDN_INCLUDEITEM         (CDN_FIRST - 0x0007)
460 461 462 463 464 465 466

#define CDM_FIRST               (WM_USER + 100)
#define CDM_LAST                (WM_USER + 200)

#define CDM_GETSPEC             (CDM_FIRST + 0x0000)
#define CDM_GETFILEPATH         (CDM_FIRST + 0x0001)
#define CDM_GETFOLDERPATH       (CDM_FIRST + 0x0002)
467
#define CDM_GETFOLDERIDLIST     (CDM_FIRST + 0x0003)
468 469 470 471
#define CDM_SETCONTROLTEXT      (CDM_FIRST + 0x0004)
#define CDM_HIDECONTROL         (CDM_FIRST + 0x0005)
#define CDM_SETDEFEXT           (CDM_FIRST + 0x0006)

472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494

/* Messages to query information from the open or save dialogs */

#define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
#define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
#define CommDlg_OpenSave_GetSpec  WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)

#define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
#define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
#define CommDlg_OpenSave_GetFilePath  WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)

#define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
#define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
#define CommDlg_OpenSave_GetFolderPath  WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)

#define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524

#define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
        (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)

#define CommDlg_OpenSave_HideControl(_hdlg, _id) \
        (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)

#define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
        (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)

#define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
#define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
#define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)

#define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
#define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
#define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)

#define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
#define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
#define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)

#define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
        (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
525 526 527 528 529 530 531 532 533 534 535

#define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
        (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)

#define CommDlg_OpenSave_HideControl(_hdlg, _id) \
        (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)

#define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
        (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)


536 537
typedef UINT_PTR (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
typedef UINT_PTR (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
538

539
typedef struct tagPDA
Alexandre Julliard's avatar
Alexandre Julliard committed
540 541
{
    DWORD            lStructSize;
542 543 544 545
    HWND           hwndOwner;
    HGLOBAL        hDevMode;
    HGLOBAL        hDevNames;
    HDC            hDC;
Alexandre Julliard's avatar
Alexandre Julliard committed
546 547 548 549 550 551
    DWORD            Flags;
    WORD             nFromPage;
    WORD             nToPage;
    WORD             nMinPage;
    WORD             nMaxPage;
    WORD             nCopies;
552
    HINSTANCE      hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
553 554 555 556 557
    LPARAM           lCustData;
    LPPRINTHOOKPROC  lpfnPrintHook;
    LPSETUPHOOKPROC  lpfnSetupHook;
    LPCSTR           lpPrintTemplateName;
    LPCSTR           lpSetupTemplateName;
558 559 560
    HGLOBAL        hPrintTemplate;
    HGLOBAL        hSetupTemplate;
} PRINTDLGA, *LPPRINTDLGA;
Alexandre Julliard's avatar
Alexandre Julliard committed
561

562
typedef struct tagPDW
Alexandre Julliard's avatar
Alexandre Julliard committed
563 564
{
    DWORD            lStructSize;
565 566 567 568
    HWND           hwndOwner;
    HGLOBAL        hDevMode;
    HGLOBAL        hDevNames;
    HDC            hDC;
Alexandre Julliard's avatar
Alexandre Julliard committed
569 570 571 572 573 574
    DWORD            Flags;
    WORD             nFromPage;
    WORD             nToPage;
    WORD             nMinPage;
    WORD             nMaxPage;
    WORD             nCopies;
575
    HINSTANCE      hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
576 577 578 579 580
    LPARAM           lCustData;
    LPPRINTHOOKPROC  lpfnPrintHook;
    LPSETUPHOOKPROC  lpfnSetupHook;
    LPCWSTR          lpPrintTemplateName;
    LPCWSTR          lpSetupTemplateName;
581 582 583
    HGLOBAL        hPrintTemplate;
    HGLOBAL        hSetupTemplate;
} PRINTDLGW, *LPPRINTDLGW;
Alexandre Julliard's avatar
Alexandre Julliard committed
584

Alexandre Julliard's avatar
Alexandre Julliard committed
585 586
DECL_WINELIB_TYPE_AW(PRINTDLG)
DECL_WINELIB_TYPE_AW(LPPRINTDLG)
Alexandre Julliard's avatar
Alexandre Julliard committed
587

588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607
#define PD_ALLPAGES                   0x00000000
#define PD_SELECTION                  0x00000001
#define PD_PAGENUMS                   0x00000002
#define PD_NOSELECTION                0x00000004
#define PD_NOPAGENUMS                 0x00000008
#define PD_COLLATE                    0x00000010
#define PD_PRINTTOFILE                0x00000020
#define PD_PRINTSETUP                 0x00000040
#define PD_NOWARNING                  0x00000080
#define PD_RETURNDC                   0x00000100
#define PD_RETURNIC                   0x00000200
#define PD_RETURNDEFAULT              0x00000400
#define PD_SHOWHELP                   0x00000800
#define PD_ENABLEPRINTHOOK            0x00001000
#define PD_ENABLESETUPHOOK            0x00002000
#define PD_ENABLEPRINTTEMPLATE        0x00004000
#define PD_ENABLESETUPTEMPLATE        0x00008000
#define PD_ENABLEPRINTTEMPLATEHANDLE  0x00010000
#define PD_ENABLESETUPTEMPLATEHANDLE  0x00020000
#define PD_USEDEVMODECOPIES           0x00040000
608
#define PD_USEDEVMODECOPIESANDCOLLATE 0x00040000
609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624
#define PD_DISABLEPRINTTOFILE         0x00080000
#define PD_HIDEPRINTTOFILE            0x00100000
#define PD_NONETWORKBUTTON            0x00200000
#define PD_CURRENTPAGE                0x00400000
#define PD_NOCURRENTPAGE              0x00800000
#define PD_EXCLUSIONFLAGS             0x01000000
#define PD_USELARGETEMPLATE           0x10000000


#define PD_EXCL_COPIESANDCOLLATE      (DM_COPIES | DM_COLLATE)

#define START_PAGE_GENERAL 0xffffffff

#define PD_RESULT_CANCEL 0
#define PD_RESULT_PRINT  1
#define PD_RESULT_APPLY  2
Alexandre Julliard's avatar
Alexandre Julliard committed
625

626 627 628 629 630 631 632
typedef struct
{
    WORD  wDriverOffset;
    WORD  wDeviceOffset;
    WORD  wOutputOffset;
    WORD  wDefault;
} DEVNAMES;
Alexandre Julliard's avatar
Alexandre Julliard committed
633 634 635 636
typedef DEVNAMES * LPDEVNAMES;

#define DN_DEFAULTPRN      0x0001

Alexandre Julliard's avatar
Alexandre Julliard committed
637 638 639 640 641 642 643 644 645
/* PageSetupDlg stuff ... */
#define WM_PSD_PAGESETUPDLG	(WM_USER  )
#define WM_PSD_FULLPAGERECT	(WM_USER+1)
#define WM_PSD_MINMARGINRECT	(WM_USER+2)
#define WM_PSD_MARGINRECT	(WM_USER+3)
#define WM_PSD_GREEKTEXTRECT	(WM_USER+4)
#define WM_PSD_ENVSTAMPRECT	(WM_USER+5)
#define WM_PSD_YAFULLPAGERECT	(WM_USER+6)

646 647
typedef UINT (CALLBACK *LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
typedef UINT (CALLBACK *LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
Alexandre Julliard's avatar
Alexandre Julliard committed
648

649
typedef struct tagPSDA
Alexandre Julliard's avatar
Alexandre Julliard committed
650 651
{
	DWORD		lStructSize;
652 653 654
	HWND		hwndOwner;
	HGLOBAL	hDevMode;
	HGLOBAL	hDevNames;
Alexandre Julliard's avatar
Alexandre Julliard committed
655
	DWORD		Flags;
656 657 658 659
	POINT		ptPaperSize;
	RECT		rtMinMargin;
	RECT		rtMargin;
	HINSTANCE	hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
660 661 662 663
	LPARAM		lCustData;
	LPPAGESETUPHOOK	lpfnPageSetupHook;
	LPPAGEPAINTHOOK	lpfnPagePaintHook;
	LPCSTR		lpPageSetupTemplateName;
664 665
	HGLOBAL	hPageSetupTemplate;
} PAGESETUPDLGA,*LPPAGESETUPDLGA;
Alexandre Julliard's avatar
Alexandre Julliard committed
666

667
typedef struct tagPSDW
Alexandre Julliard's avatar
Alexandre Julliard committed
668 669
{
	DWORD		lStructSize;
670 671 672
	HWND		hwndOwner;
	HGLOBAL	hDevMode;
	HGLOBAL	hDevNames;
Alexandre Julliard's avatar
Alexandre Julliard committed
673
	DWORD		Flags;
674 675 676 677
	POINT		ptPaperSize;
	RECT		rtMinMargin;
	RECT		rtMargin;
	HINSTANCE	hInstance;
Alexandre Julliard's avatar
Alexandre Julliard committed
678 679 680 681
	LPARAM		lCustData;
	LPPAGESETUPHOOK	lpfnPageSetupHook;
	LPPAGEPAINTHOOK	lpfnPagePaintHook;
	LPCWSTR		lpPageSetupTemplateName;
682 683
	HGLOBAL	hPageSetupTemplate;
} PAGESETUPDLGW,*LPPAGESETUPDLGW;
Alexandre Julliard's avatar
Alexandre Julliard committed
684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705
DECL_WINELIB_TYPE_AW(PAGESETUPDLG)
DECL_WINELIB_TYPE_AW(LPPAGESETUPDLG)

#define PSD_DEFAULTMINMARGINS             0x00000000
#define PSD_INWININIINTLMEASURE           0x00000000

#define PSD_MINMARGINS                    0x00000001
#define PSD_MARGINS                       0x00000002
#define PSD_INTHOUSANDTHSOFINCHES         0x00000004
#define PSD_INHUNDREDTHSOFMILLIMETERS     0x00000008
#define PSD_DISABLEMARGINS                0x00000010
#define PSD_DISABLEPRINTER                0x00000020
#define PSD_NOWARNING                     0x00000080
#define PSD_DISABLEORIENTATION            0x00000100
#define PSD_RETURNDEFAULT                 0x00000400
#define PSD_DISABLEPAPER                  0x00000200
#define PSD_SHOWHELP                      0x00000800
#define PSD_ENABLEPAGESETUPHOOK           0x00002000
#define PSD_ENABLEPAGESETUPTEMPLATE       0x00008000
#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000
#define PSD_ENABLEPAGEPAINTHOOK           0x00040000
#define PSD_DISABLEPAGEPAINTING           0x00080000
706
#define PSD_NONETWORKBUTTON               0x00200000
Alexandre Julliard's avatar
Alexandre Julliard committed
707

708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765
typedef struct tagPRINTPAGERANGE
{
    DWORD       nFromPage;
    DWORD       nToPage;
} PRINTPAGERANGE, *LPPRINTPAGERANGE;

typedef struct tagPDEXA
{
    DWORD               lStructSize;
    HWND                hwndOwner;
    HGLOBAL             hDevMode;
    HGLOBAL             hDevNames;
    HDC                 hDC;
    DWORD               Flags;
    DWORD               Flags2;
    DWORD               ExclusionFlags;
    DWORD               nPageRanges;
    DWORD               nMaxPageRanges;
    LPPRINTPAGERANGE    lpPageRanges;
    DWORD               nMinPage;
    DWORD               nMaxPage;
    DWORD               nCopies;
    HINSTANCE           hInstance;
    LPCSTR              lpPrintTemplateName;
    void* /*LPUNKNOWN*/ lpCallback;
    DWORD               nPropertyPages;
    HPROPSHEETPAGE*     lphPropertyPages;
    DWORD               nStartPage;
    DWORD               dwResultAction;
} PRINTDLGEXA, *LPPRINTDLGEXA;

typedef struct tagPDEXW
{
    DWORD               lStructSize;
    HWND                hwndOwner;
    HGLOBAL             hDevMode;
    HGLOBAL             hDevNames;
    HDC                 hDC;
    DWORD               Flags;
    DWORD               Flags2;
    DWORD               ExclusionFlags;
    DWORD               nPageRanges;
    DWORD               nMaxPageRanges;
    LPPRINTPAGERANGE    lpPageRanges;
    DWORD               nMinPage;
    DWORD               nMaxPage;
    DWORD               nCopies;
    HINSTANCE           hInstance;
    LPCWSTR             lpPrintTemplateName;
    void* /*LPUNKNOWN*/ lpCallback;
    DWORD               nPropertyPages;
    HPROPSHEETPAGE*     lphPropertyPages;
    DWORD               nStartPage;
    DWORD               dwResultAction;
} PRINTDLGEXW, *LPPRINTDLGEXW;

DECL_WINELIB_TYPE_AW(PRINTDLGEX)
DECL_WINELIB_TYPE_AW(LPPRINTDLGEX)
766

767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800
#ifdef STDMETHOD

DEFINE_GUID(IID_IPrintDialogCallback, 0x5852a2c3,0x6530,0x11d1,0xb6,0xa3,0x00,0x00,0xf8,0x75,0x7b,0xf9);
#define INTERFACE IPrintDialogCallback
DECLARE_INTERFACE_(IPrintDialogCallback,IUnknown)
{
    /*** IUnknown methods ***/
    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;
    /*** IPrintDialogCallback methods ***/
    STDMETHOD(InitDone)(THIS) PURE;
    STDMETHOD(SelectionChange)(THIS) PURE;
    STDMETHOD(HandleMessage)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT *) PURE;
};
#undef INTERFACE

DEFINE_GUID(IID_IPrintDialogServices, 0x509aaeda,0x5639,0x11d1,0xb6,0xa1,0x00,0x00,0xf8,0x75,0x7b,0xf9);
#define INTERFACE IPrintDialogServices
DECLARE_INTERFACE_(IPrintDialogServices,IUnknown)
{
    /*** IUnknown methods ***/
    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;
    /*** IPrintDialogServices methods ***/
    STDMETHOD(GetCurrentDevMode)(THIS_ LPDEVMODEW,UINT *) PURE;
    STDMETHOD(GetCurrentPrinterName)(THIS_ LPWSTR,UINT *) PURE;
    STDMETHOD(GetCurrentPortName)(THIS_ LPWSTR,UINT *) PURE;
};
#undef INTERFACE

#endif /* STDMETHOD */

801 802
BOOL  WINAPI ChooseColorA(LPCHOOSECOLORA lpChCol);
BOOL  WINAPI ChooseColorW(LPCHOOSECOLORW lpChCol);
Alexandre Julliard's avatar
Alexandre Julliard committed
803
#define ChooseColor WINELIB_NAME_AW(ChooseColor)
Alexandre Julliard's avatar
Alexandre Julliard committed
804
DWORD   WINAPI CommDlgExtendedError(void);
805 806
HWND  WINAPI FindTextA(LPFINDREPLACEA lpFind);
HWND  WINAPI FindTextW(LPFINDREPLACEW lpFind);
Alexandre Julliard's avatar
Alexandre Julliard committed
807
#define FindText WINELIB_NAME_AW(FindText)
808 809
short   WINAPI GetFileTitleA(LPCSTR lpFile, LPSTR lpTitle, WORD cbBuf);
short   WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, WORD cbBuf);
Alexandre Julliard's avatar
Alexandre Julliard committed
810
#define GetFileTitle WINELIB_NAME_AW(GetFileTitle)
811 812
BOOL  WINAPI GetOpenFileNameA(LPOPENFILENAMEA ofn);
BOOL  WINAPI GetOpenFileNameW(LPOPENFILENAMEW ofn);
Alexandre Julliard's avatar
Alexandre Julliard committed
813
#define GetOpenFileName WINELIB_NAME_AW(GetOpenFileName)
814 815
BOOL  WINAPI GetSaveFileNameA(LPOPENFILENAMEA ofn);
BOOL  WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn);
Alexandre Julliard's avatar
Alexandre Julliard committed
816
#define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
817 818
BOOL WINAPI PageSetupDlgA( LPPAGESETUPDLGA );
BOOL WINAPI PageSetupDlgW( LPPAGESETUPDLGW );
Alexandre Julliard's avatar
Alexandre Julliard committed
819
#define PageSetupDlg WINELIB_NAME_AW(PageSetupDlg)
820 821
BOOL  WINAPI PrintDlgA( LPPRINTDLGA printdlg);
BOOL  WINAPI PrintDlgW( LPPRINTDLGW printdlg);
Uwe Bonnes's avatar
Uwe Bonnes committed
822
#define PrintDlg WINELIB_NAME_AW(PrintDlg)
823 824 825
HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
#define PrintDlgEx WINELIB_NAME_AW(PrintDlgEx)
826 827
HWND  WINAPI ReplaceTextA( LPFINDREPLACEA lpFind);
HWND  WINAPI ReplaceTextW( LPFINDREPLACEW lpFind);
Alexandre Julliard's avatar
Alexandre Julliard committed
828
#define ReplaceText WINELIB_NAME_AW(ReplaceText)
829 830
BOOL  WINAPI ChooseFontA(LPCHOOSEFONTA);
BOOL  WINAPI ChooseFontW(LPCHOOSEFONTW);
Alexandre Julliard's avatar
Alexandre Julliard committed
831
#define ChooseFont WINELIB_NAME_AW(ChooseFont)
832

833
void COMDLG32_SetCommDlgExtendedError(DWORD err);
834

835

836
#ifndef _WIN64
837
#include <poppack.h>
838
#endif
839

Alexandre Julliard's avatar
Alexandre Julliard committed
840 841 842
#ifdef __cplusplus
}
#endif
Alexandre Julliard's avatar
Alexandre Julliard committed
843

Alexandre Julliard's avatar
Alexandre Julliard committed
844
#endif  /* __WINE_COMMDLG_H */