///////////////////////////////////////////////////////////////////////////// // Name: wx/msw/missing.h // Purpose: Declarations for parts of the Win32 SDK that are missing in // the versions that come with some compilers // Created: 2002/04/23 // Copyright: (c) 2002 Mattia Barbon // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_MISSING_H_ #define _WX_MISSING_H_ #ifndef WM_CHANGEUISTATE #define WM_CHANGEUISTATE 0x0127 #endif #ifndef WM_UPDATEUISTATE #define WM_UPDATEUISTATE 0x0128 #endif #ifndef WM_QUERYUISTATE #define WM_QUERYUISTATE 0x0129 #endif #ifndef WM_PRINTCLIENT #define WM_PRINTCLIENT 0x0318 #endif #ifndef WM_DPICHANGED #define WM_DPICHANGED 0x02E0 #endif #ifndef DT_HIDEPREFIX #define DT_HIDEPREFIX 0x00100000 #endif #ifndef DSS_HIDEPREFIX #define DSS_HIDEPREFIX 0x0200 #endif // Needed by toplevel.cpp #ifndef UIS_SET #define UIS_SET 1 #define UIS_CLEAR 2 #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 WM_MOUSEHWHEEL #define WM_MOUSEHWHEEL 0x020E #endif #ifndef WHEEL_DELTA #define WHEEL_DELTA 120 #endif #ifndef SPI_GETWHEELSCROLLLINES #define SPI_GETWHEELSCROLLLINES 104 #endif #ifndef SPI_GETWHEELSCROLLCHARS #define SPI_GETWHEELSCROLLCHARS 108 #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 #define VK_OEM_102 0xE2 #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 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 #ifndef TPM_RECURSE #define TPM_RECURSE 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 0x00080000 #endif #ifndef LWA_ALPHA #define LWA_ALPHA 2 #endif #ifndef QS_ALLPOSTMESSAGE #define QS_ALLPOSTMESSAGE 0 #endif // Missing from MinGW 4.8 SDK headers. #ifndef BS_TYPEMASK #define BS_TYPEMASK 0xf #endif // ---------------------------------------------------------------------------- // 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 #if !defined(LVS_EX_LABELTIP) #define LVS_EX_LABELTIP 0x00004000 #endif #ifndef LVS_EX_SUBITEMIMAGES #define LVS_EX_SUBITEMIMAGES 0x00000002 #endif #ifndef LVS_EX_DOUBLEBUFFER #define LVS_EX_DOUBLEBUFFER 0x00010000 #endif #ifndef HDN_GETDISPINFOW #define HDN_GETDISPINFOW (HDN_FIRST-29) #endif #ifndef HDS_HOTTRACK #define HDS_HOTTRACK 4 #endif #ifndef HDS_FLAT #define HDS_FLAT 0x0200 #endif #ifndef HDS_NOSIZING #define HDS_NOSIZING 0x0800 #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. */ #if !defined(CCS_VERT) #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) #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_EX_DOUBLEBUFFER #define TVS_EX_DOUBLEBUFFER 0x0004 #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 TVM_SETEXTENDEDSTYLE #define TVM_SETEXTENDEDSTYLE (TV_FIRST + 44) #define TVM_GETEXTENDEDSTYLE (TV_FIRST + 45) #endif // Various defines used by the webview library that are needed by mingw #ifndef DISPID_COMMANDSTATECHANGE #define DISPID_COMMANDSTATECHANGE 105 #endif #ifndef DISPID_NAVIGATECOMPLETE2 #define DISPID_NAVIGATECOMPLETE2 252 #endif #ifndef DISPID_NAVIGATEERROR #define DISPID_NAVIGATEERROR 271 #endif #ifndef DISPID_NEWWINDOW3 #define DISPID_NEWWINDOW3 273 #endif #ifndef INET_E_ERROR_FIRST #define INET_E_ERROR_FIRST 0x800C0002L #endif #ifndef INET_E_INVALID_URL #define INET_E_INVALID_URL 0x800C0002L #endif #ifndef INET_E_NO_SESSION #define INET_E_NO_SESSION 0x800C0003L #endif #ifndef INET_E_CANNOT_CONNECT #define INET_E_CANNOT_CONNECT 0x800C0004L #endif #ifndef INET_E_RESOURCE_NOT_FOUND #define INET_E_RESOURCE_NOT_FOUND 0x800C0005L #endif #ifndef INET_E_OBJECT_NOT_FOUND #define INET_E_OBJECT_NOT_FOUND 0x800C0006L #endif #ifndef INET_E_DATA_NOT_AVAILABLE #define INET_E_DATA_NOT_AVAILABLE 0x800C0007L #endif #ifndef INET_E_DOWNLOAD_FAILURE #define INET_E_DOWNLOAD_FAILURE 0x800C0008L #endif #ifndef INET_E_AUTHENTICATION_REQUIRED #define INET_E_AUTHENTICATION_REQUIRED 0x800C0009L #endif #ifndef INET_E_NO_VALID_MEDIA #define INET_E_NO_VALID_MEDIA 0x800C000AL #endif #ifndef INET_E_CONNECTION_TIMEOUT #define INET_E_CONNECTION_TIMEOUT 0x800C000BL #endif #ifndef INET_E_INVALID_REQUEST #define INET_E_INVALID_REQUEST 0x800C000CL #endif #ifndef INET_E_UNKNOWN_PROTOCOL #define INET_E_UNKNOWN_PROTOCOL 0x800C000DL #endif #ifndef INET_E_SECURITY_PROBLEM #define INET_E_SECURITY_PROBLEM 0x800C000EL #endif #ifndef INET_E_CANNOT_LOAD_DATA #define INET_E_CANNOT_LOAD_DATA 0x800C000FL #endif #ifndef INET_E_CANNOT_INSTANTIATE_OBJECT #define INET_E_CANNOT_INSTANTIATE_OBJECT 0x800C0010L #endif #ifndef INET_E_QUERYOPTION_UNKNOWN #define INET_E_QUERYOPTION_UNKNOWN 0x800C0013L #endif #ifndef INET_E_REDIRECT_FAILED #define INET_E_REDIRECT_FAILED 0x800C0014L #endif #ifndef INET_E_REDIRECT_TO_DIR #define INET_E_REDIRECT_TO_DIR 0x800C0015L #endif #ifndef INET_E_CANNOT_LOCK_REQUEST #define INET_E_CANNOT_LOCK_REQUEST 0x800C0016L #endif #ifndef INET_E_USE_EXTEND_BINDING #define INET_E_USE_EXTEND_BINDING 0x800C0017L #endif #ifndef INET_E_TERMINATED_BIND #define INET_E_TERMINATED_BIND 0x800C0018L #endif #ifndef INET_E_INVALID_CERTIFICATE #define INET_E_INVALID_CERTIFICATE 0x800C0019L #endif #ifndef INET_E_CODE_DOWNLOAD_DECLINED #define INET_E_CODE_DOWNLOAD_DECLINED 0x800C0100L #endif #ifndef INET_E_RESULT_DISPATCHED #define INET_E_RESULT_DISPATCHED 0x800C0200L #endif #ifndef INET_E_CANNOT_REPLACE_SFP_FILE #define INET_E_CANNOT_REPLACE_SFP_FILE 0x800C0300L #endif #ifndef INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY #define INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY 0x800C0500L #endif #ifndef INET_E_CODE_INSTALL_SUPPRESSED #define INET_E_CODE_INSTALL_SUPPRESSED 0x800C0400L #endif #ifndef MUI_LANGUAGE_NAME #define MUI_LANGUAGE_NAME 0x8 #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__ #ifndef INVALID_FILE_ATTRIBUTES #define INVALID_FILE_ATTRIBUTES ((DWORD)-1) #endif #ifndef OFN_FORCESHOWHIDDEN #define OFN_FORCESHOWHIDDEN 0x10000000 #endif #endif // _WX_MISSING_H_