]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/missing.h
don't pass NULL pointer to printf(), this crashes Solaris printf
[wxWidgets.git] / include / wx / msw / missing.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/missing.h
3 // Purpose: Declarations for parts of the Win32 SDK that are missing in
4 // the versions that come with some compilers
5 // Created: 2002/04/23
6 // RCS-ID: $Id$
7 // Copyright: (c) 2002 Mattia Barbon
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_MISSING_H_
12 #define _WX_MISSING_H_
13
14 /*
15 * The following are required for VC++ 6.
16 */
17
18 // Needed by cursor.cpp
19 #ifndef IDC_HAND
20 #define IDC_HAND MAKEINTRESOURCE(32649)
21 #endif
22
23 // Needed by strconv.cpp
24 #ifndef WC_NO_BEST_FIT_CHARS
25 #define WC_NO_BEST_FIT_CHARS 0x400
26 #endif
27
28 #ifndef WM_CONTEXTMENU
29 #define WM_CONTEXTMENU 0x007B
30 #endif
31
32 // Needed by toplevel.cpp
33 #ifndef WM_UPDATEUISTATE
34 #define WM_UPDATEUISTATE 0x0128
35 #endif
36
37 #ifndef WM_PRINTCLIENT
38 #define WM_PRINTCLIENT 0x318
39 #endif
40
41 // Needed by toplevel.cpp
42 #ifndef UIS_INITIALIZE
43 #define UIS_INITIALIZE 3
44 #endif
45
46 #ifndef UISF_HIDEFOCUS
47 #define UISF_HIDEFOCUS 1
48 #endif
49
50 #ifndef UISF_HIDEACCEL
51 #define UISF_HIDEACCEL 2
52 #endif
53
54 #ifndef OFN_EXPLORER
55 #define OFN_EXPLORER 0x00080000
56 #endif
57
58 #ifndef OFN_ENABLESIZING
59 #define OFN_ENABLESIZING 0x00800000
60 #endif
61
62 // Needed by window.cpp
63 #if wxUSE_MOUSEWHEEL
64 #ifndef WM_MOUSEWHEEL
65 #define WM_MOUSEWHEEL 0x020A
66 #endif
67 #ifndef WHEEL_DELTA
68 #define WHEEL_DELTA 120
69 #endif
70 #ifndef SPI_GETWHEELSCROLLLINES
71 #define SPI_GETWHEELSCROLLLINES 104
72 #endif
73 #endif // wxUSE_MOUSEWHEEL
74
75 // Needed by window.cpp
76 #ifndef VK_OEM_1
77 #define VK_OEM_1 0xBA
78 #define VK_OEM_2 0xBF
79 #define VK_OEM_3 0xC0
80 #define VK_OEM_4 0xDB
81 #define VK_OEM_5 0xDC
82 #define VK_OEM_6 0xDD
83 #define VK_OEM_7 0xDE
84 #endif
85
86 #ifndef VK_OEM_COMMA
87 #define VK_OEM_PLUS 0xBB
88 #define VK_OEM_COMMA 0xBC
89 #define VK_OEM_MINUS 0xBD
90 #define VK_OEM_PERIOD 0xBE
91 #endif
92
93 // ----------------------------------------------------------------------------
94 // ListView common control
95 // Needed by listctrl.cpp
96 // ----------------------------------------------------------------------------
97
98 #ifndef LVS_EX_FULLROWSELECT
99 #define LVS_EX_FULLROWSELECT 0x00000020
100 #endif
101
102 #ifndef LVS_EX_LABELTIP
103 #define LVS_EX_LABELTIP 0x00004000
104 #endif
105
106 /*
107 * In addition to the above, the following are required for several compilers.
108 */
109
110 #if !defined(CCS_VERT)
111 #define CCS_VERT 0x00000080L
112 #endif
113
114 #if !defined(TB_SETDISABLEDIMAGELIST)
115 #define TB_SETDISABLEDIMAGELIST (WM_USER + 54)
116 #endif // !defined(TB_SETDISABLEDIMAGELIST)
117
118 #ifndef CFM_BACKCOLOR
119 #define CFM_BACKCOLOR 0x04000000
120 #endif
121
122 #ifndef HANGUL_CHARSET
123 #define HANGUL_CHARSET 129
124 #endif
125
126 #ifndef CCM_SETUNICODEFORMAT
127 #define CCM_SETUNICODEFORMAT 8197
128 #endif
129
130 // ----------------------------------------------------------------------------
131 // Tree control
132 // ----------------------------------------------------------------------------
133
134 #ifndef TV_FIRST
135 #define TV_FIRST 0x1100
136 #endif
137
138 #ifndef TVS_FULLROWSELECT
139 #define TVS_FULLROWSELECT 0x1000
140 #endif
141
142 #ifndef TVM_SETBKCOLOR
143 #define TVM_SETBKCOLOR (TV_FIRST + 29)
144 #define TVM_SETTEXTCOLOR (TV_FIRST + 30)
145 #endif
146
147 /*
148 * The following are required for BC++ 5.5 (none at present.)
149 */
150
151 /*
152 * The following are specifically required for Digital Mars C++
153 */
154
155 #ifdef __DMC__
156
157 #ifdef __DMC__
158 #ifndef _TrackMouseEvent
159 #define _TrackMouseEvent TrackMouseEvent
160 #endif
161 #endif
162
163 #ifndef LVM_SETEXTENDEDLISTVIEWSTYLE
164 #define LVM_SETEXTENDEDLISTVIEWSTYLE (0x1000 + 54)
165 #endif
166
167 #ifndef LVCF_IMAGE
168 #define LVCF_IMAGE 0x0010
169 #endif
170
171 #ifndef Header_GetItemRect
172 #define Header_GetItemRect(w,i,r) \
173 (BOOL)SendMessage((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
174 #endif
175
176 #ifndef HDM_GETITEMRECT
177 #define HDM_GETITEMRECT (HDM_FIRST+7)
178 #endif
179
180 #ifndef HDN_GETDISPINFOW
181 #define HDN_GETDISPINFOW (HDN_FIRST-29)
182 #endif
183
184 #ifndef ListView_GetHeader
185 #define ListView_GetHeader(w) (HWND)SendMessage((w),LVM_GETHEADER,0,0)
186 #endif
187
188 #ifndef LVM_GETHEADER
189 #define LVM_GETHEADER (LVM_FIRST+31)
190 #endif
191
192 #ifndef LVSICF_NOSCROLL
193 #define LVSICF_NOINVALIDATEALL 0x0001
194 #define LVSICF_NOSCROLL 0x0002
195 #endif
196
197 // ----------------------------------------------------------------------------
198 // Tree control
199 // ----------------------------------------------------------------------------
200
201 #ifndef TVIS_FOCUSED
202 #define TVIS_FOCUSED 0x0001
203 #endif
204
205 #ifndef TVS_CHECKBOXES
206 #define TVS_CHECKBOXES 0x0100
207 #endif
208
209 #ifndef TVITEM
210 #define TVITEM TV_ITEM
211 #endif
212
213 #endif
214 // DMC++
215
216 /*
217 * The following are specifically required for OpenWatcom C++ (none at present)
218 */
219
220 #if defined(__WATCOMC__)
221 #endif
222
223 /*
224 * The following are specifically required for MinGW (none at present)
225 */
226
227 #if defined (__MINGW32__)
228 #endif
229
230 /*
231 * In addition to the declarations for VC++, the following are required for WinCE
232 */
233
234 #ifdef __WXWINCE__
235 #include "wx/msw/wince/missing.h"
236 #endif
237
238 #endif
239 // _WX_MISSING_H_