]>
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 // ---------------------------------------------------------------------------- 
 374 #if !defined(TBIF_SIZE) 
 377 #define TB_SETBUTTONINFO (WM_USER+66) 
 390 } TBBUTTONINFO
, *LPTBBUTTONINFO
; 
 392 #endif // !defined(TBIF_SIZE) 
 394 #endif // wxUSE_TOOLBAR 
 396 // ---------------------------------------------------------------------------- 
 398 // ---------------------------------------------------------------------------- 
 400 #ifndef QS_ALLPOSTMESSAGE 
 401     #define QS_ALLPOSTMESSAGE    0x0100 
 404 #ifndef WS_EX_CLIENTEDGE 
 405     #define WS_EX_CLIENTEDGE 0x00000200L 
 408 #ifndef ENDSESSION_LOGOFF 
 409     #define ENDSESSION_LOGOFF    0x80000000 
 412 #ifndef HANGUL_CHARSET 
 413     #define HANGUL_CHARSET  129