]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/missing.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Declarations for parts of the Win32 SDK that are missing in
4 // the version that comes with some compilers
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
10 #ifndef _WX_MISSING_H_
11 #define _WX_MISSING_H_
13 // ----------------------------------------------------------------------------
14 // ListView common control
15 // ----------------------------------------------------------------------------
19 (LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON)
22 #ifndef LVM_SETEXTENDEDLISTVIEWSTYLE
23 #define LVM_SETEXTENDEDLISTVIEWSTYLE (0x1000 + 54)
26 #ifndef LVS_EX_FULLROWSELECT
27 #define LVS_EX_FULLROWSELECT 0x00000020
31 #define LVS_OWNERDATA 0x1000
35 #define LVM_FIRST 0x1000
39 #define HDM_FIRST 0x1200
42 #ifndef LVCFMT_JUSTIFYMASK
43 #define LVCFMT_JUSTIFYMASK 0x0003
46 #ifndef LVSICF_NOSCROLL
47 #define LVSICF_NOSCROLL 0x0002
50 // mingw32/cygwin don't have declarations for comctl32.dll 4.70+ stuff
52 typedef struct tagNMLVCACHEHINT
59 #define NM_CACHEHINT NMLVCACHEHINT
62 #ifndef LVN_ODCACHEHINT
63 #define LVN_ODCACHEHINT (-113)
66 #ifndef ListView_GetHeader
67 #define ListView_GetHeader(w) (HWND)SendMessage((w),LVM_GETHEADER,0,0)
71 #define LVM_GETHEADER (LVM_FIRST+31)
74 #ifndef Header_GetItemRect
75 #define Header_GetItemRect(w,i,r) \
76 (BOOL)SendMessage((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
79 #ifndef HDM_GETITEMRECT
80 #define HDM_GETITEMRECT (HDM_FIRST+7)
84 #define LVCF_IMAGE 0x0010
87 #ifndef LVCFMT_BITMAP_ON_RIGHT
88 #define LVCFMT_BITMAP_ON_RIGHT 0x1000
91 #if defined(__GNUWIN32__) && !defined(LV_ITEM) \
92 && !wxCHECK_W32API_VERSION( 0, 5 )
93 typedef struct _LVITEMW
{
103 #if (_WIN32_IE >= 0x0300)
108 typedef struct tagLVITEMA
119 #if (_WIN32_IE >= 0x0300)
124 #define LV_ITEM LV_ITEMA;
127 #ifndef ListView_GetColumnWidth
128 #define ListView_GetColumnWidth(hwnd, iCol) \
129 (int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0)
132 #ifndef ListView_SetColumnWidth
133 #define ListView_SetColumnWidth(hwnd, iCol, cx) \
134 (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx), 0))
137 #ifndef ListView_GetTextColor
138 #define ListView_GetTextColor(hwnd) \
139 (COLORREF)SNDMSG((hwnd), LVM_GETTEXTCOLOR, 0, 0L)
142 #ifndef ListView_FindItem
143 #define ListView_FindItem(hwnd, iStart, plvfi) \
144 (int)SNDMSG((hwnd), LVM_FINDITEM, (WPARAM)(int)(iStart), (LPARAM)(const LV_FINDINFO FAR*)(plvfi))
147 #if defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 0, 5 )
149 typedef struct tagNMLVDISPINFOA
{
152 } NMLVDISPINFOA
, FAR
*LPNMLVDISPINFOA
;
153 #define _LV_DISPINFOA tagNMLVDISPINFOA
154 #define LV_DISPINFOA NMLVDISPINFOA
157 typedef struct tagNMLVDISPINFOW
{
160 } NMLVDISPINFOW
, FAR
*LPNMLVDISPINFOW
;
161 #define _LV_DISPINFOW tagNMLVDISPINFOW
162 #define LV_DISPINFOW NMLVDISPINFOW
166 #if ((defined(__WATCOMC__) && __WATCOMC__ >= 1200) || defined(__GNUWIN32__) || defined (__MINGW32__) || defined(__DIGITALMARS__) || defined (__BORLANDC__)) && !defined(HDN_GETDISPINFOW)
167 #define HDN_GETDISPINFOW (HDN_FIRST-29)
168 #if !wxCHECK_W32API_VERSION(2, 2)
177 } NMHDDISPINFOW
, *LPNMHDDISPINFOW
;
182 // ----------------------------------------------------------------------------
184 // ----------------------------------------------------------------------------
186 // instead of including htmlhelp.h, duplicate the things from it we need here:
204 HH_DISPLAY_TEXT_POPUP
,
206 HH_TP_HELP_CONTEXTMENU
,
214 HH_SET_INCLUSIVE_FILTER
,
215 HH_SET_EXCLUSIVE_FILTER
225 COLORREF clrForeground
;
226 COLORREF clrBackground
;
243 // ----------------------------------------------------------------------------
244 // SHGetFileInfo-related things
245 // ----------------------------------------------------------------------------
247 #ifndef SHGetFileInfo
249 #define SHGetFileInfo SHGetFileInfoW
251 #define SHGetFileInfo SHGetFileInfoA
255 #ifndef SHGFI_ATTRIBUTES
256 #define SHGFI_ATTRIBUTES 2048
259 #ifndef SFGAO_READONLY
260 #define SFGAO_READONLY 0x00040000L
263 #ifndef SFGAO_REMOVABLE
264 #define SFGAO_REMOVABLE 0x02000000L
267 #ifndef SHGFI_DISPLAYNAME
268 #define SHGFI_DISPLAYNAME 512
272 #define SHGFI_ICON 256
275 #ifndef SHGFI_SMALLICON
276 #define SHGFI_SMALLICON 1
279 #ifndef SHGFI_SHELLICONSIZE
280 #define SHGFI_SHELLICONSIZE 4
283 #ifndef SHGFI_OPENICON
284 #define SHGFI_OPENICON 2
287 // ----------------------------------------------------------------------------
289 // ----------------------------------------------------------------------------
291 #if wxUSE_RICHEDIT && defined(MAX_TAB_STOPS)
293 // old mingw32 doesn't define this
295 #define CFM_CHARSET 0x08000000
296 #endif // CFM_CHARSET
298 #ifndef CFM_BACKCOLOR
299 #define CFM_BACKCOLOR 0x04000000
302 // cygwin does not have these defined for richedit
304 #define ENM_LINK 0x04000000
307 #ifndef EM_AUTOURLDETECT
308 #define EM_AUTOURLDETECT (WM_USER + 91)
312 #define EN_LINK 0x070b
314 typedef struct _enlink
325 #define SF_UNICODE 0x0010
328 // Watcom C++ doesn't define this
330 #define SCF_ALL 0x0004
334 #define PFA_JUSTIFY 4
336 typedef struct _paraformat2
{
346 LONG rgxTabs
[MAX_TAB_STOPS
];
351 BYTE bLineSpacingRule
;
355 WORD wNumberingStart
;
356 WORD wNumberingStyle
;
362 #define wxEffects wReserved
366 #endif // wxUSE_RICHEDIT
368 // ----------------------------------------------------------------------------
370 // ----------------------------------------------------------------------------
372 #ifndef QS_ALLPOSTMESSAGE
373 #define QS_ALLPOSTMESSAGE 0x0100
376 #ifndef WS_EX_CLIENTEDGE
377 #define WS_EX_CLIENTEDGE 0x00000200L
380 #ifndef ENDSESSION_LOGOFF
381 #define ENDSESSION_LOGOFF 0x80000000
384 #ifndef HANGUL_CHARSET
385 #define HANGUL_CHARSET 129