2002-04-23 12:18:26 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
2003-08-03 16:56:30 -04:00
|
|
|
// Name: wx/msw/missing.h
|
2002-04-23 12:18:26 -04:00
|
|
|
// Purpose: Declarations for parts of the Win32 SDK that are missing in
|
2003-08-03 16:56:30 -04:00
|
|
|
// the versions that come with some compilers
|
2002-04-23 12:18:26 -04:00
|
|
|
// Created: 2002/04/23
|
|
|
|
// RCS-ID: $Id$
|
2003-08-03 16:56:30 -04:00
|
|
|
// Copyright: (c) 2002 Mattia Barbon
|
2004-05-23 16:53:33 -04:00
|
|
|
// Licence: wxWindows licence
|
2002-04-23 12:18:26 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_MISSING_H_
|
|
|
|
#define _WX_MISSING_H_
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
/*
|
|
|
|
* The following are required for VC++ 6.
|
|
|
|
*/
|
2002-04-23 12:18:26 -04:00
|
|
|
|
2005-06-01 09:37:13 -04:00
|
|
|
// Needed by cursor.cpp
|
|
|
|
#ifndef IDC_HAND
|
|
|
|
#define IDC_HAND MAKEINTRESOURCE(32649)
|
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
// Needed by strconv.cpp
|
|
|
|
#ifndef WC_NO_BEST_FIT_CHARS
|
|
|
|
#define WC_NO_BEST_FIT_CHARS 0x400
|
2002-04-23 12:18:26 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef WM_CONTEXTMENU
|
|
|
|
#define WM_CONTEXTMENU 0x007B
|
2002-08-30 16:34:27 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
// Needed by toplevel.cpp
|
|
|
|
#ifndef WM_UPDATEUISTATE
|
|
|
|
#define WM_UPDATEUISTATE 0x0128
|
2002-08-30 16:34:27 -04:00
|
|
|
#endif
|
|
|
|
|
2005-10-23 06:53:16 -04:00
|
|
|
#ifndef WM_CHANGEUISTATE
|
|
|
|
#define WM_CHANGEUISTATE 0x0127
|
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef WM_PRINTCLIENT
|
|
|
|
#define WM_PRINTCLIENT 0x318
|
2002-08-30 16:34:27 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
// Needed by toplevel.cpp
|
2005-09-27 07:08:42 -04:00
|
|
|
#ifndef UIS_SET
|
|
|
|
#define UIS_SET 1
|
|
|
|
#define UIS_CLEAR 2
|
2005-05-13 08:50:25 -04:00
|
|
|
#define UIS_INITIALIZE 3
|
2002-08-30 16:34:27 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef UISF_HIDEFOCUS
|
|
|
|
#define UISF_HIDEFOCUS 1
|
2002-04-23 12:18:26 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef UISF_HIDEACCEL
|
|
|
|
#define UISF_HIDEACCEL 2
|
2003-02-04 16:37:58 -05:00
|
|
|
#endif
|
2002-12-04 09:11:26 -05:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef OFN_EXPLORER
|
|
|
|
#define OFN_EXPLORER 0x00080000
|
2003-09-10 11:06:44 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef OFN_ENABLESIZING
|
|
|
|
#define OFN_ENABLESIZING 0x00800000
|
2005-02-28 11:13:59 -05:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
// 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
|
2005-02-28 11:13:59 -05:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
// 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
|
2005-02-28 11:13:59 -05:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef VK_OEM_COMMA
|
|
|
|
#define VK_OEM_PLUS 0xBB
|
|
|
|
#define VK_OEM_COMMA 0xBC
|
|
|
|
#define VK_OEM_MINUS 0xBD
|
|
|
|
#define VK_OEM_PERIOD 0xBE
|
2003-08-14 07:00:38 -04:00
|
|
|
#endif
|
2002-04-23 12:18:26 -04:00
|
|
|
|
2006-02-06 12:42:15 -05:00
|
|
|
#ifndef SM_TABLETPC
|
|
|
|
#define SM_TABLETPC 86
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef INKEDIT_CLASS
|
|
|
|
# define INKEDIT_CLASSW L"INKEDIT"
|
|
|
|
# ifdef UNICODE
|
|
|
|
# define INKEDIT_CLASS INKEDIT_CLASSW
|
|
|
|
# else
|
|
|
|
# define INKEDIT_CLASS "INKEDIT"
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef EM_SETINKINSERTMODE
|
|
|
|
# define EM_SETINKINSERTMODE (WM_USER + 0x0204)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef EM_SETUSEMOUSEFORINPUT
|
|
|
|
#define EM_SETUSEMOUSEFORINPUT (WM_USER + 0x224)
|
|
|
|
#endif
|
|
|
|
|
2006-03-11 08:13:00 -05:00
|
|
|
#ifndef TPM_RECURSE
|
|
|
|
#define TPM_RECURSE 1
|
|
|
|
#endif
|
|
|
|
|
2003-06-23 20:56:19 -04:00
|
|
|
// ----------------------------------------------------------------------------
|
2005-05-13 08:50:25 -04:00
|
|
|
// ListView common control
|
|
|
|
// Needed by listctrl.cpp
|
2003-06-23 20:56:19 -04:00
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
2005-05-17 16:14:44 -04:00
|
|
|
#ifndef LVS_EX_FULLROWSELECT
|
|
|
|
#define LVS_EX_FULLROWSELECT 0x00000020
|
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef LVS_EX_LABELTIP
|
|
|
|
#define LVS_EX_LABELTIP 0x00004000
|
2003-06-23 20:56:19 -04:00
|
|
|
#endif
|
|
|
|
|
2006-01-16 21:13:06 -05:00
|
|
|
#ifndef LVS_EX_SUBITEMIMAGES
|
|
|
|
#define LVS_EX_SUBITEMIMAGES 0x00000002
|
|
|
|
#endif
|
|
|
|
|
2006-03-07 11:21:37 -05:00
|
|
|
#ifndef HDN_GETDISPINFOW
|
|
|
|
#define HDN_GETDISPINFOW (HDN_FIRST-29)
|
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
/*
|
2005-05-16 07:33:30 -04:00
|
|
|
* In addition to the above, the following are required for several compilers.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#if !defined(CCS_VERT)
|
|
|
|
#define CCS_VERT 0x00000080L
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !defined(TB_SETDISABLEDIMAGELIST)
|
|
|
|
#define TB_SETDISABLEDIMAGELIST (WM_USER + 54)
|
|
|
|
#endif // !defined(TB_SETDISABLEDIMAGELIST)
|
|
|
|
|
|
|
|
#ifndef CFM_BACKCOLOR
|
|
|
|
#define CFM_BACKCOLOR 0x04000000
|
|
|
|
#endif
|
|
|
|
|
2005-06-28 21:34:43 -04:00
|
|
|
#ifndef HANGUL_CHARSET
|
|
|
|
#define HANGUL_CHARSET 129
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef CCM_SETUNICODEFORMAT
|
|
|
|
#define CCM_SETUNICODEFORMAT 8197
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// Tree control
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#ifndef TV_FIRST
|
|
|
|
#define TV_FIRST 0x1100
|
|
|
|
#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
|
|
|
|
|
2005-05-16 07:33:30 -04:00
|
|
|
/*
|
|
|
|
* The following are required for BC++ 5.5 (none at present.)
|
2005-05-13 08:50:25 -04:00
|
|
|
*/
|
2003-06-23 20:56:19 -04:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
/*
|
2005-05-16 07:33:30 -04:00
|
|
|
* The following are specifically required for Digital Mars C++
|
2005-05-13 08:50:25 -04:00
|
|
|
*/
|
2003-06-23 20:56:19 -04:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifdef __DMC__
|
2003-06-23 20:56:19 -04:00
|
|
|
|
2006-03-07 14:53:43 -05:00
|
|
|
typedef struct _OSVERSIONINFOEX {
|
|
|
|
DWORD dwOSVersionInfoSize;
|
|
|
|
DWORD dwMajorVersion;
|
|
|
|
DWORD dwMinorVersion;
|
|
|
|
DWORD dwBuildNumber;
|
|
|
|
DWORD dwPlatformId;
|
|
|
|
TCHAR szCSDVersion[ 128 ];
|
|
|
|
WORD wServicePackMajor;
|
|
|
|
WORD wServicePackMinor;
|
|
|
|
WORD wSuiteMask;
|
|
|
|
BYTE wProductType;
|
|
|
|
BYTE wReserved;
|
|
|
|
} OSVERSIONINFOEX;
|
|
|
|
|
|
|
|
#ifndef _TrackMouseEvent
|
|
|
|
#define _TrackMouseEvent TrackMouseEvent
|
2003-06-23 20:56:19 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef LVM_SETEXTENDEDLISTVIEWSTYLE
|
|
|
|
#define LVM_SETEXTENDEDLISTVIEWSTYLE (0x1000 + 54)
|
2003-06-23 20:56:19 -04:00
|
|
|
#endif
|
|
|
|
|
2006-05-30 08:41:41 -04:00
|
|
|
#ifndef LVM_GETSUBITEMRECT
|
|
|
|
#define LVM_GETSUBITEMRECT (0x1000 + 56)
|
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef LVCF_IMAGE
|
|
|
|
#define LVCF_IMAGE 0x0010
|
2003-06-23 20:56:19 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef Header_GetItemRect
|
|
|
|
#define Header_GetItemRect(w,i,r) \
|
|
|
|
(BOOL)SendMessage((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
|
2003-06-21 16:09:14 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef HDM_GETITEMRECT
|
|
|
|
#define HDM_GETITEMRECT (HDM_FIRST+7)
|
2003-06-21 16:09:14 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef ListView_GetHeader
|
|
|
|
#define ListView_GetHeader(w) (HWND)SendMessage((w),LVM_GETHEADER,0,0)
|
2003-06-21 16:09:14 -04:00
|
|
|
#endif
|
|
|
|
|
2006-05-30 08:41:41 -04:00
|
|
|
#ifndef ListView_GetSubItemRect
|
|
|
|
#define ListView_GetSubItemRect(w, i, s, c, p) (HWND)SendMessage(w,LVM_GETSUBITEMRECT,i, ((p) ? ((((LPRECT)(p))->top = s), (((LPRECT)(p))->left = c), (LPARAM)(p)) : (LPARAM)(LPRECT)NULL))
|
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef LVM_GETHEADER
|
|
|
|
#define LVM_GETHEADER (LVM_FIRST+31)
|
2003-06-21 16:09:14 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#ifndef LVSICF_NOSCROLL
|
|
|
|
#define LVSICF_NOINVALIDATEALL 0x0001
|
|
|
|
#define LVSICF_NOSCROLL 0x0002
|
2003-06-21 16:09:14 -04:00
|
|
|
#endif
|
|
|
|
|
2006-03-07 14:53:43 -05:00
|
|
|
#ifndef CP_SYMBOL
|
|
|
|
#define CP_SYMBOL 42
|
|
|
|
#endif
|
|
|
|
|
2006-03-16 05:45:11 -05:00
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxDisplay
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// The windows headers with Digital Mars lack some typedefs.
|
|
|
|
// typedef them as my_XXX and then #define to rename to XXX in case
|
|
|
|
// a newer version of Digital Mars fixes the headers
|
|
|
|
// (or up to date PSDK is in use with older version)
|
|
|
|
// also we use any required definition (MONITOR_DEFAULTTONULL) to recognize
|
|
|
|
// whether whole missing block needs to be included
|
|
|
|
|
|
|
|
#ifndef MONITOR_DEFAULTTONULL
|
|
|
|
|
|
|
|
#define HMONITOR_DECLARED
|
|
|
|
DECLARE_HANDLE(HMONITOR);
|
|
|
|
typedef BOOL(CALLBACK* my_MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
|
|
|
|
#define MONITORENUMPROC my_MONITORENUMPROC
|
|
|
|
typedef struct my_tagMONITORINFO {
|
|
|
|
DWORD cbSize;
|
|
|
|
RECT rcMonitor;
|
|
|
|
RECT rcWork;
|
|
|
|
DWORD dwFlags;
|
|
|
|
} my_MONITORINFO,*my_LPMONITORINFO;
|
|
|
|
#define MONITORINFO my_MONITORINFO
|
|
|
|
#define LPMONITORINFO my_LPMONITORINFO
|
|
|
|
|
|
|
|
typedef struct my_MONITORINFOEX : public my_tagMONITORINFO
|
|
|
|
{
|
|
|
|
TCHAR szDevice[CCHDEVICENAME];
|
|
|
|
} my_MONITORINFOEX, *my_LPMONITORINFOEX;
|
|
|
|
#define MONITORINFOEX my_MONITORINFOEX
|
|
|
|
#define LPMONITORINFOEX my_LPMONITORINFOEX
|
|
|
|
|
|
|
|
#ifndef MONITOR_DEFAULTTONULL
|
|
|
|
#define MONITOR_DEFAULTTONULL 0
|
|
|
|
#endif // MONITOR_DEFAULTTONULL
|
|
|
|
|
|
|
|
#ifndef MONITORINFOF_PRIMARY
|
|
|
|
#define MONITORINFOF_PRIMARY 1
|
|
|
|
#endif // MONITORINFOF_PRIMARY
|
|
|
|
|
|
|
|
#ifndef DDENUM_ATTACHEDSECONDARYDEVICES
|
|
|
|
#define DDENUM_ATTACHEDSECONDARYDEVICES 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif // MONITOR_DEFAULTTONULL
|
|
|
|
|
2003-08-03 16:56:30 -04:00
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// Tree control
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#ifndef TVIS_FOCUSED
|
|
|
|
#define TVIS_FOCUSED 0x0001
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef TVS_CHECKBOXES
|
|
|
|
#define TVS_CHECKBOXES 0x0100
|
|
|
|
#endif
|
|
|
|
|
2005-06-17 06:34:49 -04:00
|
|
|
#ifndef TVITEM
|
|
|
|
#define TVITEM TV_ITEM
|
|
|
|
#endif
|
|
|
|
|
2004-01-19 11:41:08 -05:00
|
|
|
#endif
|
2005-05-13 08:50:25 -04:00
|
|
|
// DMC++
|
2004-01-19 11:41:08 -05:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
/*
|
2005-05-16 07:33:30 -04:00
|
|
|
* The following are specifically required for OpenWatcom C++ (none at present)
|
2005-05-13 08:50:25 -04:00
|
|
|
*/
|
2004-01-19 11:41:08 -05:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#if defined(__WATCOMC__)
|
2004-02-07 18:15:12 -05:00
|
|
|
#endif
|
2004-01-31 09:44:46 -05:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
/*
|
2005-05-16 07:33:30 -04:00
|
|
|
* The following are specifically required for MinGW (none at present)
|
2005-05-13 08:50:25 -04:00
|
|
|
*/
|
2004-02-08 17:09:13 -05:00
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
#if defined (__MINGW32__)
|
2004-07-27 14:04:01 -04:00
|
|
|
#endif
|
|
|
|
|
2005-05-13 08:50:25 -04:00
|
|
|
/*
|
|
|
|
* In addition to the declarations for VC++, the following are required for WinCE
|
|
|
|
*/
|
2004-09-18 10:16:37 -04:00
|
|
|
|
2004-04-04 09:00:34 -04:00
|
|
|
#ifdef __WXWINCE__
|
|
|
|
#include "wx/msw/wince/missing.h"
|
2004-02-17 05:06:26 -05:00
|
|
|
#endif
|
|
|
|
|
2002-04-23 12:18:26 -04:00
|
|
|
#endif
|
|
|
|
// _WX_MISSING_H_
|