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