X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17b439e88a4ae9f82003ac8b4e2b5fb92444a3de..b92203a8be20debe7615492c26969d17bcd7fa8d:/include/wx/msw/missing.h diff --git a/include/wx/msw/missing.h b/include/wx/msw/missing.h index 66acdfc7e2..5778f1adf4 100644 --- a/include/wx/msw/missing.h +++ b/include/wx/msw/missing.h @@ -39,6 +39,14 @@ #define HDM_FIRST 0x1200 #endif +#ifndef LVCFMT_JUSTIFYMASK + #define LVCFMT_JUSTIFYMASK 0x0003 +#endif + +#ifndef LVSICF_NOSCROLL + #define LVSICF_NOSCROLL 0x0002 +#endif + // mingw32/cygwin don't have declarations for comctl32.dll 4.70+ stuff #ifndef NM_CACHEHINT typedef struct tagNMLVCACHEHINT @@ -96,7 +104,44 @@ typedef struct _LVITEMW { int iIndent; #endif } LV_ITEMW; -typedef LV_ITEM LV_ITEMA; + +typedef struct tagLVITEMA +{ + UINT mask; + int iItem; + int iSubItem; + UINT state; + UINT stateMask; + LPSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +#if (_WIN32_IE >= 0x0300) + int iIndent; +#endif +} LV_ITEMA; + +#define LV_ITEM LV_ITEMA; +#endif + +#ifndef ListView_GetColumnWidth +#define ListView_GetColumnWidth(hwnd, iCol) \ + (int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0) +#endif + +#ifndef ListView_SetColumnWidth +#define ListView_SetColumnWidth(hwnd, iCol, cx) \ + (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx), 0)) +#endif + +#ifndef ListView_GetTextColor +#define ListView_GetTextColor(hwnd) \ + (COLORREF)SNDMSG((hwnd), LVM_GETTEXTCOLOR, 0, 0L) +#endif + +#ifndef ListView_FindItem +#define ListView_FindItem(hwnd, iStart, plvfi) \ + (int)SNDMSG((hwnd), LVM_FINDITEM, (WPARAM)(int)(iStart), (LPARAM)(const LV_FINDINFO FAR*)(plvfi)) #endif #if defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 0, 5 ) @@ -118,6 +163,21 @@ typedef struct tagNMLVDISPINFOW { #endif #endif +#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; + UINT mask; + LPWSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} NMHDDISPINFOW, *LPNMHDDISPINFOW; +#endif +#endif + // ---------------------------------------------------------------------------- // MS HTML Help @@ -180,6 +240,158 @@ 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 // ---------------------------------------------------------------------------- // Misc stuff @@ -189,6 +401,17 @@ struct HH_AKLINK #define QS_ALLPOSTMESSAGE 0x0100 #endif +#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 #endif // _WX_MISSING_H_