#define WM_CONTEXTMENU 0x007B
#endif
-// Needed by toplevel.cpp
+#ifndef WM_CHANGEUISTATE
+ #define WM_CHANGEUISTATE 0x0127
+#endif
+
#ifndef WM_UPDATEUISTATE
#define WM_UPDATEUISTATE 0x0128
#endif
-#ifndef WM_CHANGEUISTATE
- #define WM_CHANGEUISTATE 0x0127
+#ifndef WM_QUERYUISTATE
+ #define WM_QUERYUISTATE 0x0129
#endif
#ifndef WM_PRINTCLIENT
#define WM_PRINTCLIENT 0x318
#endif
+#ifndef DT_HIDEPREFIX
+ #define DT_HIDEPREFIX 0x00100000
+#endif
+
// Needed by toplevel.cpp
#ifndef UIS_SET
#define UIS_SET 1
#endif
+#ifndef WS_EX_LAYOUTRTL
+#define WS_EX_LAYOUTRTL 0x00400000
+#endif
+
+#ifndef WS_EX_COMPOSITED
+#define WS_EX_COMPOSITED 0x02000000L
+#endif
+
#ifndef WS_EX_LAYERED
-#define WS_EX_LAYERED 0x80000
+#define WS_EX_LAYERED 0x00080000
#endif
#ifndef LWA_ALPHA
#define LWA_ALPHA 2
#endif
+#ifndef QS_ALLPOSTMESSAGE
+#define QS_ALLPOSTMESSAGE 0
+#endif
+
+/*
+ * The following are required for VC++ 5 when the PSDK is not available.
+ */
+
+#if defined __VISUALC__ && __VISUALC__ <= 1100
+
+#ifndef VER_NT_WORKSTATION
+
+typedef struct _OSVERSIONINFOEXA {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ CHAR szCSDVersion[128];
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wSuiteMask;
+ BYTE wProductType;
+ BYTE wReserved;
+} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
+typedef struct _OSVERSIONINFOEXW {
+ DWORD dwOSVersionInfoSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ DWORD dwBuildNumber;
+ DWORD dwPlatformId;
+ WCHAR szCSDVersion[128];
+ WORD wServicePackMajor;
+ WORD wServicePackMinor;
+ WORD wSuiteMask;
+ BYTE wProductType;
+ BYTE wReserved;
+} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
+
+#ifdef UNICODE
+typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
+typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
+#else
+typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
+typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
+#endif
+
+#endif // defined VER_NT_WORKSTATION
+
+#ifndef CP_SYMBOL
+ #define CP_SYMBOL 42
+#endif
+
+// NMLVCUSTOMDRAW originally didn't have the iSubItem member. It was added
+// with IE4, as was IPN_FIRST which is used as a test :-(.
+//
+#ifndef IPN_FIRST
+
+typedef struct wxtagNMLVCUSTOMDRAW_ {
+ NMCUSTOMDRAW nmcd;
+ COLORREF clrText;
+ COLORREF clrTextBk;
+ int iSubItem;
+} wxNMLVCUSTOMDRAW_, *wxLPNMLVCUSTOMDRAW_;
+
+#define NMLVCUSTOMDRAW wxNMLVCUSTOMDRAW_
+#define LPNMLVCUSTOMDRAW wxLPNMLVCUSTOMDRAW_
+
+#endif // defined IPN_FIRST
+
+#endif // defined __VISUALC__ && __VISUALC__ <= 1100
+
// ----------------------------------------------------------------------------
-// ListView common control
-// Needed by listctrl.cpp
+// menu stuff
// ----------------------------------------------------------------------------
+#ifndef MIIM_BITMAP
+ #define MIIM_STRING 0x00000040
+ #define MIIM_BITMAP 0x00000080
+ #define MIIM_FTYPE 0x00000100
+ #define HBMMENU_CALLBACK ((HBITMAP) -1)
+
+ typedef struct tagMENUINFO
+ {
+ DWORD cbSize;
+ DWORD fMask;
+ DWORD dwStyle;
+ UINT cyMax;
+ HBRUSH hbrBack;
+ DWORD dwContextHelpID;
+ DWORD dwMenuData;
+ } MENUINFO, FAR *LPMENUINFO;
+#endif // MIIM_BITMAP &c
+
+// ----------------------------------------------------------------------------
+// definitions related to ListView and Header common controls, needed by
+// msw/listctrl.cpp and msw/headerctrl.cpp
+// ----------------------------------------------------------------------------
+
+#ifndef I_IMAGENONE
+ #define I_IMAGENONE (-2)
+#endif
+
#ifndef LVS_EX_FULLROWSELECT
#define LVS_EX_FULLROWSELECT 0x00000020
#endif
-#ifndef LVS_EX_LABELTIP
+// LVS_EX_LABELTIP is not supported by Windows CE, don't define it there
+#if !defined(LVS_EX_LABELTIP) && !defined(__WXWINCE__)
#define LVS_EX_LABELTIP 0x00004000
#endif
#define HDN_GETDISPINFOW (HDN_FIRST-29)
#endif
+#ifndef HDS_HOTTRACK
+ #define HDS_HOTTRACK 4
+#endif
+#ifndef HDS_FLAT
+ #define HDS_FLAT 0x0200
+#endif
+
+#ifndef HDF_SORTUP
+ #define HDF_SORTUP 0x0400
+ #define HDF_SORTDOWN 0x0200
+#endif
+
/*
* In addition to the above, the following are required for several compilers.
*/
#define CCS_VERT 0x00000080L
#endif
+#if !defined(CCS_RIGHT)
+#define CCS_RIGHT (CCS_VERT|CCS_BOTTOM)
+#endif
+
#if !defined(TB_SETDISABLEDIMAGELIST)
#define TB_SETDISABLEDIMAGELIST (WM_USER + 54)
#endif // !defined(TB_SETDISABLEDIMAGELIST)
#ifdef __DMC__
+#ifndef VER_NT_WORKSTATION
typedef struct _OSVERSIONINFOEX {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
BYTE wProductType;
BYTE wReserved;
} OSVERSIONINFOEX;
+#endif // !defined(VER_NT_WORKSTATION)
#ifndef _TrackMouseEvent
#define _TrackMouseEvent TrackMouseEvent
#define LVM_GETHEADER (LVM_FIRST+31)
#endif
+#ifndef HDLAYOUT
+ #define HDLAYOUT HD_LAYOUT
+#endif
+
+#ifndef HDITEM
+ #define HDITEM HD_ITEM
+#endif
+
+#ifndef NMHEADER
+ #define NMHEADER HD_NOTIFY
+#endif
+
+#ifndef HDS_DRAGDROP
+ #define HDS_DRAGDROP 0x0040
+#endif
+#ifndef HDS_FULLDRAG
+ #define HDS_FULLDRAG 0x0080
+#endif
+
+
+#ifndef HDN_BEGINDRAG
+ #define HDN_BEGINDRAG (HDN_FIRST - 11)
+#endif
+
+#ifndef HDN_ENDDRAG
+ #define HDN_ENDDRAG (HDN_FIRST - 10)
+#endif
+
#ifndef LVSICF_NOSCROLL
#define LVSICF_NOINVALIDATEALL 0x0001
#define LVSICF_NOSCROLL 0x0002
*/
#if defined (__MINGW32__)
+
+#if !wxCHECK_W32API_VERSION(3,1)
+
+#include <windows.h>
+#include "wx/msw/winundef.h"
+
+typedef struct
+{
+ RECT rgrc[3];
+ WINDOWPOS *lppos;
+} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
+
+#endif
+
#endif
/*
#include "wx/msw/wince/missing.h"
#endif
+ /*
+ * The following are specifically required for Wine
+ */
+
+#ifdef __WINE__
+ #ifndef ENUM_CURRENT_SETTINGS
+ #define ENUM_CURRENT_SETTINGS ((DWORD)-1)
+ #endif
+ #ifndef BROADCAST_QUERY_DENY
+ #define BROADCAST_QUERY_DENY 1112363332
+ #endif
+#endif // defined __WINE__
+
#endif
// _WX_MISSING_H_