X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17b439e88a4ae9f82003ac8b4e2b5fb92444a3de..c07103f267adc57a49d2fffa12acdd06b3ff7a57:/include/wx/msw/missing.h diff --git a/include/wx/msw/missing.h b/include/wx/msw/missing.h index 66acdfc7e2..cbedea9379 100644 --- a/include/wx/msw/missing.h +++ b/include/wx/msw/missing.h @@ -1,66 +1,171 @@ ///////////////////////////////////////////////////////////////////////////// -// 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 ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_MISSING_H_ #define _WX_MISSING_H_ +/* + * The following are required for VC++ 6. + */ + +// Needed by cursor.cpp +#ifndef IDC_HAND + #define IDC_HAND MAKEINTRESOURCE(32649) +#endif + +// Needed by strconv.cpp +#ifndef WC_NO_BEST_FIT_CHARS + #define WC_NO_BEST_FIT_CHARS 0x400 +#endif + +#ifndef WM_CONTEXTMENU + #define WM_CONTEXTMENU 0x007B +#endif + +// Needed by toplevel.cpp +#ifndef WM_UPDATEUISTATE + #define WM_UPDATEUISTATE 0x0128 +#endif + +#ifndef WM_PRINTCLIENT + #define WM_PRINTCLIENT 0x318 +#endif + +// Needed by toplevel.cpp +#ifndef UIS_INITIALIZE + #define UIS_INITIALIZE 3 +#endif + +#ifndef UISF_HIDEFOCUS + #define UISF_HIDEFOCUS 1 +#endif + +#ifndef UISF_HIDEACCEL + #define UISF_HIDEACCEL 2 +#endif + +#ifndef OFN_EXPLORER + #define OFN_EXPLORER 0x00080000 +#endif + +#ifndef OFN_ENABLESIZING + #define OFN_ENABLESIZING 0x00800000 +#endif + +// Needed by window.cpp +#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 + +// Needed by window.cpp +#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 + // ---------------------------------------------------------------------------- // ListView common control +// Needed by listctrl.cpp // ---------------------------------------------------------------------------- -#ifndef LVHT_ONITEM - #define LVHT_ONITEM \ - (LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON) +#ifndef LVS_EX_FULLROWSELECT + #define LVS_EX_FULLROWSELECT 0x00000020 +#endif + +#ifndef LVS_EX_LABELTIP + #define LVS_EX_LABELTIP 0x00004000 #endif -#ifndef LVM_SETEXTENDEDLISTVIEWSTYLE - #define LVM_SETEXTENDEDLISTVIEWSTYLE (0x1000 + 54) + /* + * In addition to the above, the following are required for several compilers. + */ + +#if !defined(CCS_VERT) +#define CCS_VERT 0x00000080L #endif -#ifndef LVS_EX_FULLROWSELECT - #define LVS_EX_FULLROWSELECT 0x00000020 +#if !defined(TB_SETDISABLEDIMAGELIST) + #define TB_SETDISABLEDIMAGELIST (WM_USER + 54) +#endif // !defined(TB_SETDISABLEDIMAGELIST) + +#ifndef CFM_BACKCOLOR + #define CFM_BACKCOLOR 0x04000000 #endif -#ifndef LVS_OWNERDATA - #define LVS_OWNERDATA 0x1000 +#ifndef HANGUL_CHARSET + #define HANGUL_CHARSET 129 #endif -#ifndef LVM_FIRST - #define LVM_FIRST 0x1000 +#ifndef CCM_SETUNICODEFORMAT + #define CCM_SETUNICODEFORMAT 8197 #endif -#ifndef HDM_FIRST - #define HDM_FIRST 0x1200 +// ---------------------------------------------------------------------------- +// Tree control +// ---------------------------------------------------------------------------- + +#ifndef TV_FIRST + #define TV_FIRST 0x1100 #endif -// mingw32/cygwin don't have declarations for comctl32.dll 4.70+ stuff -#ifndef NM_CACHEHINT - typedef struct tagNMLVCACHEHINT - { - NMHDR hdr; - int iFrom; - int iTo; - } NMLVCACHEHINT; +#ifndef TVS_FULLROWSELECT + #define TVS_FULLROWSELECT 0x1000 +#endif - #define NM_CACHEHINT NMLVCACHEHINT +#ifndef TVM_SETBKCOLOR + #define TVM_SETBKCOLOR (TV_FIRST + 29) + #define TVM_SETTEXTCOLOR (TV_FIRST + 30) #endif -#ifndef LVN_ODCACHEHINT - #define LVN_ODCACHEHINT (-113) + /* + * The following are required for BC++ 5.5 (none at present.) + */ + + /* + * The following are specifically required for Digital Mars C++ + */ + +#ifdef __DMC__ + +#ifdef __DMC__ + #ifndef _TrackMouseEvent + #define _TrackMouseEvent TrackMouseEvent + #endif #endif -#ifndef ListView_GetHeader - #define ListView_GetHeader(w) (HWND)SendMessage((w),LVM_GETHEADER,0,0) +#ifndef LVM_SETEXTENDEDLISTVIEWSTYLE + #define LVM_SETEXTENDEDLISTVIEWSTYLE (0x1000 + 54) #endif -#ifndef LVM_GETHEADER - #define LVM_GETHEADER (LVM_FIRST+31) +#ifndef LVCF_IMAGE + #define LVCF_IMAGE 0x0010 #endif #ifndef Header_GetItemRect @@ -72,123 +177,63 @@ #define HDM_GETITEMRECT (HDM_FIRST+7) #endif -#ifndef LVCF_IMAGE - #define LVCF_IMAGE 0x0010 +#ifndef HDN_GETDISPINFOW + #define HDN_GETDISPINFOW (HDN_FIRST-29) +#endif + +#ifndef ListView_GetHeader + #define ListView_GetHeader(w) (HWND)SendMessage((w),LVM_GETHEADER,0,0) #endif -#ifndef LVCFMT_BITMAP_ON_RIGHT - #define LVCFMT_BITMAP_ON_RIGHT 0x1000 +#ifndef LVM_GETHEADER + #define LVM_GETHEADER (LVM_FIRST+31) #endif -#if defined(__GNUWIN32__) && !defined(LV_ITEM) \ - && !wxCHECK_W32API_VERSION( 0, 5 ) -typedef struct _LVITEMW { - UINT mask; - int iItem; - int iSubItem; - UINT state; - UINT stateMask; - LPWSTR pszText; - int cchTextMax; - int iImage; - LPARAM lParam; -#if (_WIN32_IE >= 0x0300) - int iIndent; +#ifndef LVSICF_NOSCROLL + #define LVSICF_NOINVALIDATEALL 0x0001 + #define LVSICF_NOSCROLL 0x0002 #endif -} LV_ITEMW; -typedef LV_ITEM LV_ITEMA; + +// ---------------------------------------------------------------------------- +// Tree control +// ---------------------------------------------------------------------------- + +#ifndef TVIS_FOCUSED + #define TVIS_FOCUSED 0x0001 #endif -#if defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 0, 5 ) -#ifndef LV_DISPINFOA -typedef struct tagNMLVDISPINFOA { - NMHDR hdr; - LV_ITEMA item; -} NMLVDISPINFOA, FAR *LPNMLVDISPINFOA; -#define _LV_DISPINFOA tagNMLVDISPINFOA -#define LV_DISPINFOA NMLVDISPINFOA +#ifndef TVS_CHECKBOXES + #define TVS_CHECKBOXES 0x0100 #endif -#ifndef LV_DISPINFOW -typedef struct tagNMLVDISPINFOW { - NMHDR hdr; - LV_ITEMW item; -} NMLVDISPINFOW, FAR *LPNMLVDISPINFOW; -#define _LV_DISPINFOW tagNMLVDISPINFOW -#define LV_DISPINFOW NMLVDISPINFOW + +#ifndef TVITEM + #define TVITEM TV_ITEM #endif + #endif + // DMC++ + /* + * The following are specifically required for OpenWatcom C++ (none at present) + */ -// ---------------------------------------------------------------------------- -// MS HTML Help -// ---------------------------------------------------------------------------- +#if defined(__WATCOMC__) +#endif -// instead of including htmlhelp.h, duplicate the things from it we need here: - -enum -{ - HH_DISPLAY_TOPIC, - HH_DISPLAY_TOC, - HH_DISPLAY_INDEX, - HH_DISPLAY_SEARCH, - HH_SET_WIN_TYPE, - HH_GET_WIN_TYPE, - HH_GET_WIN_HANDLE, - HH_ENUM_INFO_TYPE, - HH_SET_INFO_TYPE, - HH_SYNC, - HH_RESERVED1, - HH_RESERVED2, - HH_RESERVED3, - HH_KEYWORD_LOOKUP, - HH_DISPLAY_TEXT_POPUP, - HH_HELP_CONTEXT, - HH_TP_HELP_CONTEXTMENU, - HH_TP_HELP_WM_HELP, - HH_CLOSE_ALL, - HH_ALINK_LOOKUP, - HH_GET_LAST_ERROR, - HH_ENUM_CATEGORY, - HH_ENUM_CATEGORY_IT, - HH_RESET_IT_FILTER, - HH_SET_INCLUSIVE_FILTER, - HH_SET_EXCLUSIVE_FILTER -}; - -struct HH_POPUP -{ - int cbStruct; - HINSTANCE hinst; - UINT idString; - LPCTSTR pszText; - POINT pt; - COLORREF clrForeground; - COLORREF clrBackground; - RECT rcMargins; - LPCTSTR pszFont; -}; - -struct HH_AKLINK -{ - int cbStruct; - BOOL fReserved; - LPCTSTR pszKeywords; - LPCTSTR pszUrl; - LPCTSTR pszMsgText; - LPCTSTR pszMsgTitle; - LPCTSTR pszWindow; - BOOL fIndexOnFail; -}; + /* + * The following are specifically required for MinGW (none at present) + */ +#if defined (__MINGW32__) +#endif -// ---------------------------------------------------------------------------- -// Misc stuff -// ---------------------------------------------------------------------------- + /* + * In addition to the declarations for VC++, the following are required for WinCE + */ -#ifndef QS_ALLPOSTMESSAGE - #define QS_ALLPOSTMESSAGE 0x0100 +#ifdef __WXWINCE__ + #include "wx/msw/wince/missing.h" #endif - #endif // _WX_MISSING_H_