fix for the new headers which define _WIN32_WINNT == 0x0500
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: filedlg.cpp
|
// Name: src/msw/filedlg.cpp
|
||||||
// Purpose: wxFileDialog
|
// Purpose: wxFileDialog
|
||||||
// Author: Julian Smart
|
// Author: Julian Smart
|
||||||
// Modified by:
|
// Modified by:
|
||||||
@@ -9,13 +9,20 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// declarations
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// headers
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma implementation "filedlg.h"
|
#pragma implementation "filedlg.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx.h".
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
#include "wx/msw/private.h"
|
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
#pragma hdrstop
|
#pragma hdrstop
|
||||||
@@ -28,10 +35,10 @@
|
|||||||
#include "wx/filedlg.h"
|
#include "wx/filedlg.h"
|
||||||
#include "wx/intl.h"
|
#include "wx/intl.h"
|
||||||
#include "wx/log.h"
|
#include "wx/log.h"
|
||||||
|
|
||||||
// #include "wx/msw/private.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "wx/msw/private.h"
|
||||||
|
|
||||||
#if !defined(__WIN32__) || defined(__SALFORDC__) || defined(__WXWINE__)
|
#if !defined(__WIN32__) || defined(__SALFORDC__) || defined(__WXWINE__)
|
||||||
#include <commdlg.h>
|
#include <commdlg.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -42,8 +49,34 @@
|
|||||||
|
|
||||||
#include "wx/tokenzr.h"
|
#include "wx/tokenzr.h"
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// constants
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifdef __WIN32__
|
||||||
|
# define wxMAXPATH 4096
|
||||||
|
#else
|
||||||
|
# define wxMAXPATH 1024
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# define wxMAXFILE 1024
|
||||||
|
|
||||||
|
# define wxMAXEXT 5
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// implementation
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxWin macros
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
IMPLEMENT_CLASS(wxFileDialog, wxDialog)
|
IMPLEMENT_CLASS(wxFileDialog, wxDialog)
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// global functions
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxString wxFileSelector(const wxChar *title,
|
wxString wxFileSelector(const wxChar *title,
|
||||||
const wxChar *defaultDir,
|
const wxChar *defaultDir,
|
||||||
const wxChar *defaultFileName,
|
const wxChar *defaultFileName,
|
||||||
@@ -126,40 +159,6 @@ wxString wxFileSelector(const wxChar *title,
|
|||||||
return wxGetEmptyString();
|
return wxGetEmptyString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
# if __BORLANDC__
|
|
||||||
# include <dir.h> // for MAXPATH etc. ( Borland 3.1 )
|
|
||||||
# endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* These numbers are too small.
|
|
||||||
# ifndef MAXPATH
|
|
||||||
# define MAXPATH 400
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef MAXDRIVE
|
|
||||||
# define MAXDRIVE 3
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef MAXFILE
|
|
||||||
# define MAXFILE 9
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef MAXEXT
|
|
||||||
# define MAXEXT 5
|
|
||||||
# endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if __WIN32__
|
|
||||||
# define wxMAXPATH 4096
|
|
||||||
#else
|
|
||||||
# define wxMAXPATH 1024
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# define wxMAXFILE 1024
|
|
||||||
|
|
||||||
# define wxMAXEXT 5
|
|
||||||
|
|
||||||
|
|
||||||
wxString wxFileSelectorEx(const wxChar *title,
|
wxString wxFileSelectorEx(const wxChar *title,
|
||||||
const wxChar *defaultDir,
|
const wxChar *defaultDir,
|
||||||
@@ -242,20 +241,21 @@ int wxFileDialog::ShowModal()
|
|||||||
OFN_ALLOWMULTISELECT;
|
OFN_ALLOWMULTISELECT;
|
||||||
|
|
||||||
OPENFILENAME of;
|
OPENFILENAME of;
|
||||||
memset(&of, 0, sizeof(OPENFILENAME));
|
wxZeroMemory(of);
|
||||||
|
|
||||||
of.lpstrCustomFilter = NULL; // system should not save custom filter
|
|
||||||
of.nMaxCustFilter = 0L;
|
|
||||||
|
|
||||||
of.nFileOffset = 0; // 0-based pointer to filname in lpstFile
|
|
||||||
of.nFileExtension = 0; // 0-based pointer to extension in lpstrFile
|
|
||||||
of.lpstrDefExt = NULL; // no default extension
|
|
||||||
|
|
||||||
|
// the OPENFILENAME struct has been extended in newer version of
|
||||||
|
// comcdlg32.dll, but as we don't use the extended fields anyhow, set
|
||||||
|
// the struct size to the old value - otherwise, the programs compiled
|
||||||
|
// with new headers will not work with the old libraries
|
||||||
|
#if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500)
|
||||||
|
of.lStructSize = sizeof(OPENFILENAME) -
|
||||||
|
(sizeof(void *) + 2*sizeof(DWORD));
|
||||||
|
#else // old headers
|
||||||
of.lStructSize = sizeof(OPENFILENAME);
|
of.lStructSize = sizeof(OPENFILENAME);
|
||||||
|
#endif
|
||||||
|
|
||||||
of.hwndOwner = hWnd;
|
of.hwndOwner = hWnd;
|
||||||
of.lpstrTitle = WXSTRINGCAST m_message;
|
of.lpstrTitle = WXSTRINGCAST m_message;
|
||||||
|
|
||||||
|
|
||||||
of.lpstrFileTitle = titleBuffer;
|
of.lpstrFileTitle = titleBuffer;
|
||||||
of.nMaxFileTitle = wxMAXFILE + 1 + wxMAXEXT; // Windows 3.0 and 3.1
|
of.nMaxFileTitle = wxMAXFILE + 1 + wxMAXEXT; // Windows 3.0 and 3.1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user