3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * COMMDLG - Common Wine Dialog ... :-)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) the Wine project
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else /* __cplusplus */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __cplusplus */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* SNDMSG */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT_PTR (CALLBACK *LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CDSIZEOF_STRUCT(type,field) ((INT_PTR)&(((type *)0)->field) + sizeof(((type*)0)->field))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define OPENFILENAME_SIZE_VERSION_400 WINELIB_NAME_AW(OPENFILENAME_SIZE_VERSION_400)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT_PTR (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HWND hInstance; /* Should be an HINSTANCE but MS made a typo */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HWND hInstance; /* Should be an HINSTANCE but MS made a typo */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT_PTR (CALLBACK *LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT_PTR (CALLBACK *LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CF_ENABLETEMPLATEHANDLE __MSABI_LONG(0x00000020)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CF_INITTOLOGFONTSTRUCT __MSABI_LONG(0x00000040)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CF_WYSIWYG __MSABI_LONG(0x00008000) /* use with CF_SCREENFONTS & CF_PRINTERFONTS */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LBSELCHSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync 'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR LBSELCHSTRINGW[] = { 'c','o','m','m','d','l','g','_',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync 'L','B','S','e','l','C','h','a','n','g','e','d','N','o','t','i','f','y',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LBSELCHSTRING WINELIB_NAME_AW(LBSELCHSTRING)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SHAREVISTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync 'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SHAREVISTRINGW[] = { 'c','o','m','m','d','l','g','_',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync 'S','h','a','r','e','V','i','o','l','a','t','i','o','n',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SHAREVISTRING WINELIB_NAME_AW(SHAREVISTRING)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define FILEOKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR FILEOKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define COLOROKSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR COLOROKSTRINGW[] = { 'c','o','m','m','d','l','g','_',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define COLOROKSTRING WINELIB_NAME_AW(COLOROKSTRING)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define SETRGBSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SETRGBSTRINGW[] = { 'c','o','m','m','d','l','g','_',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define FINDMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR FINDMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FINDMSGSTRING WINELIB_NAME_AW(FINDMSGSTRING)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define HELPMSGSTRINGW (const WCHAR []){ 'c','o','m','m','d','l','g','_', \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR HELPMSGSTRINGW[] = { 'c','o','m','m','d','l','g','_',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HELPMSGSTRING WINELIB_NAME_AW(HELPMSGSTRING)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Messages to query information from the open or save dialogs */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetSpec WINELIB_NAME_AW(CommDlg_OpenSave_GetSpec)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFilePath WINELIB_NAME_AW(CommDlg_OpenSave_GetFilePath)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderPath WINELIB_NAME_AW(CommDlg_OpenSave_GetFolderPath)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT_PTR (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT_PTR (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PD_EXCL_COPIESANDCOLLATE (DM_COPIES | DM_COLLATE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* PageSetupDlg stuff ... */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT (CALLBACK *LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef UINT (CALLBACK *LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x00020000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDEFINE_GUID(IID_IPrintDialogCallback, 0x5852a2c3,0x6530,0x11d1,0xb6,0xa3,0x00,0x00,0xf8,0x75,0x7b,0xf9);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IPrintDialogCallback methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(HandleMessage)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT *) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDEFINE_GUID(IID_IPrintDialogServices, 0x509aaeda,0x5639,0x11d1,0xb6,0xa1,0x00,0x00,0xf8,0x75,0x7b,0xf9);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IUnknown methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /*** IPrintDialogServices methods ***/
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetCurrentDevMode)(THIS_ LPDEVMODEW,UINT *) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetCurrentPrinterName)(THIS_ LPWSTR,UINT *) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync STDMETHOD(GetCurrentPortName)(THIS_ LPWSTR,UINT *) PURE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* STDMETHOD */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncshort WINAPI GetFileTitleA(LPCSTR lpFile, LPSTR lpTitle, WORD cbBuf);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncshort WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, WORD cbBuf);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetOpenFileName WINELIB_NAME_AW(GetOpenFileName)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __WINE_COMMDLG_H */