]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/wrapwin.h
added wxGetWinVersion()
[wxWidgets.git] / include / wx / msw / wrapwin.h
CommitLineData
9ed0d735 1/////////////////////////////////////////////////////////////////////////////
f9438023 2// Name: msw/wrapwin.h
9ed0d735 3// Purpose: Wrapper around <windows.h>, to be included instead of it
2f552802 4// Author: Vaclav Slavik
9ed0d735
VS
5// Created: 2003/07/22
6// RCS-ID: $Id$
2f552802 7// Copyright: (c) 2003 Vaclav Slavik
65571936 8// Licence: wxWindows licence
9ed0d735
VS
9/////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_WRAPWIN_H_
12#define _WX_WRAPWIN_H_
13
14#include "wx/platform.h"
15
16#ifndef STRICT
17 #define STRICT 1
18#endif
19
baec3aee 20// don't define min() and max() as macros, they conflict with standard C++ ones
a97cd798
VZ
21#ifndef NOMINMAX
22 #define NOMINMAX
23#endif // NOMINMAX
baec3aee 24
9ed0d735 25#include <windows.h>
14d3c9f7
VZ
26
27#ifdef __WXWINCE__
28 // this doesn't make any sense knowing that windows.h includes all these
29 // headers anyhow, but the fact remains that when building using eVC 4 the
30 // functions and constants from these headers are not defined unless we
31 // explicitly include them ourselves -- how is it possible is beyond me...
32 #include <winbase.h>
33 #include <wingdi.h>
34 #include <winuser.h>
35
36 // this one OTOH contains many useful CE-only functions
37 #include <shellapi.h>
38#endif // __WXWINCE__
39
9ed0d735
VS
40#include "wx/msw/winundef.h"
41
f9438023
VZ
42// types DWORD_PTR, ULONG_PTR and so on might be not defined in old headers but
43// unfortunately I don't know of any standard way to test for this (as they're
44// typedefs and not #defines), so simply overwrite them in any case in Win32
45// mode -- and if compiling for Win64 they'd better have new headers anyhow
46//
47// this is ugly but what else can we do? even testing for compiler version
48// wouldn't help as you can perfectly well be using an older compiler (VC6)
49// with newer SDK headers
d61c1a6f 50#if !defined(__WIN64__) && !defined(__WXWINCE__)
f9438023 51 #define UINT_PTR unsigned int
ebb2300f 52 #define LONG_PTR long
f9438023
VZ
53 #define ULONG_PTR unsigned long
54 #define DWORD_PTR unsigned long
55#endif // !__WIN64__
56
2f552802
VZ
57#endif // _WX_WRAPWIN_H_
58