X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..2c990ba6d4f88e18e6666f61efe55c7a8b5cc948:/include/wx/msw/missing.h diff --git a/include/wx/msw/missing.h b/include/wx/msw/missing.h index 631006ba34..04ef9d8298 100644 --- a/include/wx/msw/missing.h +++ b/include/wx/msw/missing.h @@ -1,9 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: missing.h +// Name: wx/msw/missing.h // Purpose: Declarations for parts of the Win32 SDK that are missing in -// the version that comes with some compilers +// the versions that come with some compilers // Created: 2002/04/23 // RCS-ID: $Id$ +// Copyright: (c) 2002 Mattia Barbon // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -43,6 +44,11 @@ #define LVCFMT_JUSTIFYMASK 0x0003 #endif +#ifndef LVSICF_NOSCROLL + #define LVSICF_NOINVALIDATEALL 0x0001 + #define LVSICF_NOSCROLL 0x0002 +#endif + // mingw32/cygwin don't have declarations for comctl32.dll 4.70+ stuff #ifndef NM_CACHEHINT typedef struct tagNMLVCACHEHINT @@ -159,8 +165,9 @@ typedef struct tagNMLVDISPINFOW { #endif #endif -#if defined(__GNUWIN32__) && !defined(HDN_GETDISPINFOW) +#if ((defined(__WATCOMC__) && __WATCOMC__ >= 1200) || defined(__GNUWIN32__) || defined (__MINGW32__) || defined(__DIGITALMARS__) || defined (__BORLANDC__)) && !defined(HDN_GETDISPINFOW) #define HDN_GETDISPINFOW (HDN_FIRST-29) +#if !wxCHECK_W32API_VERSION(2, 2) typedef struct { NMHDR hdr; int iItem; @@ -171,7 +178,18 @@ typedef struct { LPARAM lParam; } NMHDDISPINFOW, *LPNMHDDISPINFOW; #endif +#endif + +#ifndef LVM_SETUNICODEFORMAT +#define LVM_SETUNICODEFORMAT 0x2005 +#endif +// ---------------------------------------------------------------------------- +// Toolbar define value missing +// ---------------------------------------------------------------------------- +#if !defined(CCS_VERT) +#define CCS_VERT 0x00000080L +#endif // ---------------------------------------------------------------------------- // MS HTML Help @@ -234,27 +252,341 @@ struct HH_AKLINK BOOL fIndexOnFail; }; +// ---------------------------------------------------------------------------- +// SHGetFileInfo-related things +// ---------------------------------------------------------------------------- + +#ifndef SHGetFileInfo + #ifdef UNICODE + #define SHGetFileInfo SHGetFileInfoW + #else + #define SHGetFileInfo SHGetFileInfoA + #endif +#endif + +#ifndef SHGFI_ATTRIBUTES + #define SHGFI_ATTRIBUTES 2048 +#endif + +#ifndef SFGAO_READONLY + #define SFGAO_READONLY 0x00040000L +#endif + +#ifndef SFGAO_REMOVABLE + #define SFGAO_REMOVABLE 0x02000000L +#endif + +#ifndef SHGFI_DISPLAYNAME + #define SHGFI_DISPLAYNAME 512 +#endif + +#ifndef SHGFI_ICON + #define SHGFI_ICON 256 +#endif + +#ifndef SHGFI_SMALLICON + #define SHGFI_SMALLICON 1 +#endif + +#ifndef SHGFI_SHELLICONSIZE + #define SHGFI_SHELLICONSIZE 4 +#endif + +#ifndef SHGFI_OPENICON + #define SHGFI_OPENICON 2 +#endif + +// ---------------------------------------------------------------------------- +// Rich text control +// ---------------------------------------------------------------------------- + +#if wxUSE_RICHEDIT && defined(MAX_TAB_STOPS) + +// old mingw32 doesn't define this +#ifndef CFM_CHARSET + #define CFM_CHARSET 0x08000000 +#endif // CFM_CHARSET + +#ifndef CFM_BACKCOLOR + #define CFM_BACKCOLOR 0x04000000 +#endif + +// cygwin does not have these defined for richedit +#ifndef ENM_LINK + #define ENM_LINK 0x04000000 +#endif + +#ifndef EM_AUTOURLDETECT + #define EM_AUTOURLDETECT (WM_USER + 91) +#endif + +#ifndef EN_LINK + #define EN_LINK 0x070b + + typedef struct _enlink + { + NMHDR nmhdr; + UINT msg; + WPARAM wParam; + LPARAM lParam; + CHARRANGE chrg; + } ENLINK; +#endif // ENLINK + +#ifndef SF_UNICODE + #define SF_UNICODE 0x0010 +#endif + +// Watcom C++ doesn't define this +#ifndef SCF_ALL + #define SCF_ALL 0x0004 +#endif + +#ifndef PFA_JUSTIFY +#define PFA_JUSTIFY 4 + +typedef struct _paraformat2 { + UINT cbSize; + DWORD dwMask; + WORD wNumbering; + WORD wEffects; + LONG dxStartIndent; + LONG dxRightIndent; + LONG dxOffset; + WORD wAlignment; + SHORT cTabCount; + LONG rgxTabs[MAX_TAB_STOPS]; + LONG dySpaceBefore; + LONG dySpaceAfter; + LONG dyLineSpacing; + SHORT sStype; + BYTE bLineSpacingRule; + BYTE bOutlineLevel; + WORD wShadingWeight; + WORD wShadingStyle; + WORD wNumberingStart; + WORD wNumberingStyle; + WORD wNumberingTab; + WORD wBorderSpace; + WORD wBorderWidth; + WORD wBorders; +} PARAFORMAT2; +#define wxEffects wReserved + +#endif + +#endif // wxUSE_RICHEDIT + +// ---------------------------------------------------------------------------- +// ToolBar +// ---------------------------------------------------------------------------- + +#if wxUSE_TOOLBAR + +#if !defined(TBIF_SIZE) + +#define TBIF_SIZE 64 +#define TB_SETBUTTONINFO (WM_USER+66) + +typedef struct { + UINT cbSize; + DWORD dwMask; + int idCommand; + int iImage; + BYTE fsState; + BYTE fsStyle; + WORD cx; + DWORD lParam; + LPTSTR pszText; + int cchText; +} TBBUTTONINFO, *LPTBBUTTONINFO; + +#endif // !defined(TBIF_SIZE) + +#endif // wxUSE_TOOLBAR + +// ---------------------------------------------------------------------------- +// Tree control +// ---------------------------------------------------------------------------- + +#ifndef TVIS_FOCUSED + #define TVIS_FOCUSED 0x0001 +#endif + +#ifndef TV_FIRST + #define TV_FIRST 0x1100 +#endif + +#ifndef TVS_CHECKBOXES + #define TVS_CHECKBOXES 0x0100 +#endif + +#ifndef TVS_FULLROWSELECT + #define TVS_FULLROWSELECT 0x1000 +#endif + +#ifndef TVM_SETBKCOLOR + #define TVM_SETBKCOLOR (TV_FIRST + 29) + #define TVM_SETTEXTCOLOR (TV_FIRST + 30) +#endif + +#ifndef TVS_INFOTIP + #define TVS_INFOTIP 2048 +#endif + +#ifndef TVN_GETINFOTIPA + #define TVN_GETINFOTIPA (TVN_FIRST-13) + #define TVN_GETINFOTIPW (TVN_FIRST-14) +#endif + +#ifndef TVN_GETINFOTIP + #ifdef UNICODE + #define TVN_GETINFOTIP TVN_GETINFOTIPW + #else + #define TVN_GETINFOTIP TVN_GETINFOTIPA + #endif +#endif + +#if !defined(NMTVGETINFOTIP) && defined(TVN_FIRST) + // NB: Check for TVN_FIRST is done so that this code is not included if + // (which defined HTREEITEM) wasn't included before. + struct NMTVGETINFOTIPA + { + NMHDR hdr; + LPSTR pszText; + int cchTextMax; + HTREEITEM hItem; + LPARAM lParam; + }; + struct NMTVGETINFOTIPW + { + NMHDR hdr; + LPWSTR pszText; + int cchTextMax; + HTREEITEM hItem; + LPARAM lParam; + }; + #ifdef UNICODE + #define NMTVGETINFOTIP NMTVGETINFOTIPW + #else + #define NMTVGETINFOTIP NMTVGETINFOTIPA + #endif +#endif // ---------------------------------------------------------------------------- // Misc stuff // ---------------------------------------------------------------------------- +#ifndef CCM_SETUNICODEFORMAT + #define CCM_SETUNICODEFORMAT 8197 +#endif + #ifndef QS_ALLPOSTMESSAGE #define QS_ALLPOSTMESSAGE 0x0100 #endif -#ifdef __WXWINE__ -#define LV_ITEMA LVITEMA -#define LV_ITEMW LVITEMW -#define LV_DISPINFOA NMLVDISPINFOA -#define LV_DISPINFOW NMLVDISPINFOW +#ifndef WS_EX_CLIENTEDGE + #define WS_EX_CLIENTEDGE 0x00000200L +#endif + +#ifndef ENDSESSION_LOGOFF + #define ENDSESSION_LOGOFF 0x80000000 +#endif + +#ifndef HANGUL_CHARSET + #define HANGUL_CHARSET 129 +#endif + +#ifndef TME_HOVER + #define TME_HOVER 1 +#endif + +#ifndef TME_LEAVE + #define TME_LEAVE 2 +#endif + +#ifndef TME_QUERY + #define TME_QUERY 0x40000000 +#endif + +#ifndef TME_CANCEL + #define TME_CANCEL 0x80000000 +#endif + +#ifndef HOVER_DEFAULT + #define HOVER_DEFAULT 0xFFFFFFFF +#endif + +#ifdef __DMC__ + + typedef struct tagTRACKMOUSEEVENT { + DWORD cbSize; + DWORD dwFlags; + HWND hwndTrack; + DWORD dwHoverTime; + } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT; + + WINCOMMCTRLAPI BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack); + +#endif + +// This didn't appear in mingw until 2.95.2 +#ifndef SIF_TRACKPOS +#define SIF_TRACKPOS 16 +#endif + +#if wxUSE_MOUSEWHEEL + #ifndef WM_MOUSEWHEEL + #define WM_MOUSEWHEEL 0x020A + #endif + #ifndef WHEEL_DELTA + #define WHEEL_DELTA 120 + #endif + #ifndef SPI_GETWHEELSCROLLLINES + #define SPI_GETWHEELSCROLLLINES 104 + #endif +#endif // wxUSE_MOUSEWHEEL + +#ifndef VK_OEM_1 + #define VK_OEM_1 0xBA + #define VK_OEM_2 0xBF + #define VK_OEM_3 0xC0 + #define VK_OEM_4 0xDB + #define VK_OEM_5 0xDC + #define VK_OEM_6 0xDD + #define VK_OEM_7 0xDE +#endif + +#ifndef VK_OEM_COMMA + #define VK_OEM_PLUS 0xBB + #define VK_OEM_COMMA 0xBC + #define VK_OEM_MINUS 0xBD + #define VK_OEM_PERIOD 0xBE +#endif + +#ifndef WM_UPDATEUISTATE + #define WM_UPDATEUISTATE 0x128 +#endif + +#ifndef UIS_INITIALIZE + #define UIS_INITIALIZE 3 +#endif + +#ifndef UISF_HIDEFOCUS + #define UISF_HIDEFOCUS 1 +#endif + +#ifndef UISF_HIDEACCEL + #define UISF_HIDEACCEL 2 +#endif -#if wxUSE_UNICODE -#define LV_FINDINFO LVFINDINFOW -#else -#define LV_FINDINFO LVFINDINFOA +#ifndef WC_NO_BEST_FIT_CHARS + #define WC_NO_BEST_FIT_CHARS 0x400 #endif +// In addition, include stuff not defined in WinCE +#ifdef __WXWINCE__ + #include "wx/msw/wince/missing.h" #endif #endif