// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#include "wx/setup.h" // always include this file (under Unix it's generated by configure)
-#include "wx/defs.h" // compiler definitions
+// compiler detection; includes setup.h
+#include "wx/defs.h"
-// check if to use precompiled headers
-#if (defined(__BORLANDC__) || defined(__VISUALC__) || defined(__WATCOMC__)) && defined(__WXMSW__)
+// check if to use precompiled headers: do it for most Windows compilers unless
+// explicitly disabled by defining NOPCH
+#if ((defined(__BORLANDC__) || defined(__VISUALC__) || defined(__WATCOMC__)) && defined(__WXMSW__)) || defined(__VISAGECPP__) || defined(__MWERKS__)
#if !defined(NOPCH)
#define WX_PRECOMP
#endif
// For some reason, this must be defined for common dialogs to work.
#ifdef __WATCOMC__
-#define INCLUDE_COMMDLG_H 1
+ #define INCLUDE_COMMDLG_H 1
#endif
-// include the wx definitions
#ifdef WX_PRECOMP
-#include "wx/wx.h"
-// Comment this out if you don't mind slower compilation of the wxWindows
-// library
-#if !defined(__WXMAC__) && !defined(__SALFORDC__)
-#include <windows.h>
-#endif
+// include <wx/wxchar.h> first to ensure that UNICODE macro is correctly set
+// _before_ including <windows.h>
+#include "wx/wxchar.h"
-#ifdef GetClassInfo
-#undef GetClassInfo
-#endif
-
-#ifdef GetClassName
-#undef GetClassName
-#endif
-
-#ifdef DrawText
-#undef DrawText
-#endif
-
-#ifdef GetCharWidth
-#undef GetCharWidth
-#endif
-
-#ifdef StartDoc
-#undef StartDoc
-#endif
-
-#ifdef FindWindow
-#undef FindWindow
-#endif
+// include standard Windows headers
+#if defined(__WXMSW__) && !wxUSE_MFC
+ #ifndef STRICT
+ #define STRICT 1
+ #endif
-#ifdef FindResource
-#undef FindResource
+ #include <windows.h>
+ #include "wx/msw/winundef.h"
#endif
-#ifdef LoadAccelerators
-#undef LoadAccelerators
-#endif
+// include the most common wx headers
+#include "wx/wx.h"
#endif // WX_PRECOMP
-