]>
Commit | Line | Data |
---|---|---|
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 |