From bb7c60962d8d3fd970236c263efa2e22284df69e Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Mon, 18 Aug 2003 09:43:24 +0000 Subject: [PATCH] 2003-08-17 Danny Smith * include/commctrl.h (TB_*) Group defines together. 2003-08-17 Martin Fuchs * include/winuser.h (ICON_SMALL2): Define. * include/commctrl.h (TB_SETBUTTONWIDTH,TB_SETDRAWTEXTFLAGS): Define. * include/shlobj.h (SHDRAGIMAGE): Define structure. (IDragSourceHelper) Define interface. (IDropTargetHelper): Likewise. (IExtractIcon): Unicode it. (ICommDlgBrowser): Use IShellView type as param in OnDefaultCommand, OnStateChange and IncludeObject methods. --- winsup/w32api/ChangeLog | 16 ++++++ winsup/w32api/include/commctrl.h | 34 ++++++------ winsup/w32api/include/shlobj.h | 93 ++++++++++++++++++++++++++------ winsup/w32api/include/winuser.h | 3 ++ 4 files changed, 113 insertions(+), 33 deletions(-) diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index ac03d8de5..997f8f98b 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,19 @@ +2003-08-18 Danny Smith + + * include/commctrl.h (TB_*) Group defines together. + +2003-08-18 Martin Fuchs + + * include/winuser.h (ICON_SMALL2): Define. + * include/commctrl.h (TB_SETBUTTONWIDTH, TB_SETDRAWTEXTFLAGS): + Define. + * include/shlobj.h (SHDRAGIMAGE): Define structure. + (IDragSourceHelper) Define interface. + (IDropTargetHelper): Likewise. + (IExtractIcon): Unicode it. + (ICommDlgBrowser): Use IShellView type as param in OnDefaultCommand, + OnStateChange and IncludeObject methods. + 2003-08-17 Martin Fuchs * include/commctrl.h (TreeView_GetScrollTime, diff --git a/winsup/w32api/include/commctrl.h b/winsup/w32api/include/commctrl.h index d1a0c0aa3..c35e2c6a4 100644 --- a/winsup/w32api/include/commctrl.h +++ b/winsup/w32api/include/commctrl.h @@ -382,20 +382,6 @@ extern "C" { #define TBSTYLE_TRANSPARENT 0x8000 #define TBSTYLE_EX_DRAWDDARROWS 0x00000001 #endif /* _WIN32_IE >= 0x0400 */ -#define TB_ENABLEBUTTON (WM_USER+1) -#define TB_CHECKBUTTON (WM_USER+2) -#define TB_PRESSBUTTON (WM_USER+3) -#define TB_HIDEBUTTON (WM_USER+4) -#define TB_INDETERMINATE (WM_USER+5) -#define TB_ISBUTTONENABLED (WM_USER+9) -#define TB_ISBUTTONCHECKED (WM_USER+10) -#define TB_ISBUTTONPRESSED (WM_USER+11) -#define TB_ISBUTTONHIDDEN (WM_USER+12) -#define TB_ISBUTTONINDETERMINATE (WM_USER+13) -#define TB_SETSTATE (WM_USER+17) -#define TB_GETSTATE (WM_USER+18) -#define TB_ADDBITMAP (WM_USER+19) -#define TB_GETBUTTONSIZE (WM_USER+58) #define HINST_COMMCTRL ((HINSTANCE)-1) #define IDB_STD_SMALL_COLOR 0 #define IDB_STD_LARGE_COLOR 1 @@ -428,6 +414,19 @@ extern "C" { #define VIEW_NETCONNECT 9 #define VIEW_NETDISCONNECT 10 #define VIEW_NEWFOLDER 11 +#define TB_ENABLEBUTTON (WM_USER+1) +#define TB_CHECKBUTTON (WM_USER+2) +#define TB_PRESSBUTTON (WM_USER+3) +#define TB_HIDEBUTTON (WM_USER+4) +#define TB_INDETERMINATE (WM_USER+5) +#define TB_ISBUTTONENABLED (WM_USER+9) +#define TB_ISBUTTONCHECKED (WM_USER+10) +#define TB_ISBUTTONPRESSED (WM_USER+11) +#define TB_ISBUTTONHIDDEN (WM_USER+12) +#define TB_ISBUTTONINDETERMINATE (WM_USER+13) +#define TB_SETSTATE (WM_USER+17) +#define TB_GETSTATE (WM_USER+18) +#define TB_ADDBITMAP (WM_USER+19) #define TB_ADDBUTTONS (WM_USER+20) #define TB_INSERTBUTTON (WM_USER+21) #define TB_DELETEBUTTON (WM_USER+22) @@ -449,19 +448,22 @@ extern "C" { #define TB_SETPARENT (WM_USER+37) #define TB_SETROWS (WM_USER+39) #define TB_GETROWS (WM_USER+40) +#define TB_GETBITMAPFLAGS (WM_USER+41) #define TB_SETCMDID (WM_USER+42) #define TB_CHANGEBITMAP (WM_USER+43) #define TB_GETBITMAP (WM_USER+44) #define TB_GETBUTTONTEXTA (WM_USER+45) #define TB_GETBUTTONTEXTW (WM_USER+75) #define TB_REPLACEBITMAP (WM_USER+46) -#define TBBF_LARGE 1 -#define TB_GETBITMAPFLAGS (WM_USER+41) +#define TB_GETBUTTONSIZE (WM_USER+58) +#define TB_SETBUTTONWIDTH (WM_USER+59) #if _WIN32_IE >= 0x400 #define TB_SETBUTTONINFO (WM_USER+66) #define TB_SETEXTENDEDSTYLE (WM_USER+84) #define TB_GETEXTENDEDSTYLE (WM_USER+85) +#define TB_SETDRAWTEXTFLAGS (WM_USER+70) #endif +#define TBBF_LARGE 1 #define TBN_GETBUTTONINFOA (TBN_FIRST-0) #define TBN_GETBUTTONINFOW (TBN_FIRST-20) #define TBN_BEGINDRAG (TBN_FIRST-1) diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index 1a0afaed5..dc0da0e7d 100644 --- a/winsup/w32api/include/shlobj.h +++ b/winsup/w32api/include/shlobj.h @@ -492,8 +492,8 @@ DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown) typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; #undef INTERFACE -#define INTERFACE IExtractIcon -DECLARE_INTERFACE_(IExtractIcon, IUnknown) /* exic */ +#define INTERFACE IExtractIconA +DECLARE_INTERFACE_(IExtractIconA, IUnknown) { STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; @@ -501,7 +501,27 @@ DECLARE_INTERFACE_(IExtractIcon, IUnknown) /* exic */ STDMETHOD(GetIconLocation)(THIS_ UINT,LPSTR,UINT,int*,PUINT) PURE; STDMETHOD(Extract)(THIS_ LPCSTR,UINT,HICON*,HICON*,UINT) PURE; }; -typedef IExtractIcon *LPEXTRACTICON; +typedef IExtractIconA *LPEXTRACTICONA; + +#undef INTERFACE +#define INTERFACE IExtractIconW +DECLARE_INTERFACE_(IExtractIconW, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetIconLocation)(THIS_ UINT,LPWSTR,UINT,int*,PUINT) PURE; + STDMETHOD(Extract)(THIS_ LPCWSTR,UINT,HICON*,HICON*,UINT) PURE; +}; +typedef IExtractIconW *LPEXTRACTICONW; + +#ifdef UNICODE +#define IExtractIcon IExtractIconW +#define LPEXTRACTICON LPEXTRACTICONW +#else +#define IExtractIcon IExtractIconA +#define LPEXTRACTICON LPEXTRACTICONA +#endif #undef INTERFACE #define INTERFACE IShellLinkA @@ -612,19 +632,6 @@ DECLARE_INTERFACE(IFileViewer) }; typedef IFileViewer *LPFILEVIEWER; -#undef INTERFACE -#define INTERFACE ICommDlgBrowser -DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) -{ - STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - STDMETHOD(OnDefaultCommand)(THIS) PURE; - STDMETHOD(OnStateChange)(THIS_ ULONG) PURE; - STDMETHOD(IncludeObject)(THIS_ LPCITEMIDLIST) PURE; -}; -typedef ICommDlgBrowser *LPCOMMDLGBROWSER; - #undef INTERFACE #define INTERFACE IPersistFolder DECLARE_INTERFACE_(IPersistFolder,IPersist) @@ -690,6 +697,20 @@ DECLARE_INTERFACE_(IShellView,IOleWindow) STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE; STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE; }; + +#undef INTERFACE +#define INTERFACE ICommDlgBrowser +DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(OnDefaultCommand)(THIS_ IShellView*) PURE; + STDMETHOD(OnStateChange)(THIS_ IShellView*,ULONG) PURE; + STDMETHOD(IncludeObject)(THIS_ IShellView*,LPCITEMIDLIST) PURE; +}; +typedef ICommDlgBrowser *LPCOMMDLGBROWSER; + typedef GUID SHELLVIEWID; typedef struct _SV2CVW2_PARAMS { DWORD cbSize; @@ -806,7 +827,44 @@ typedef struct { BOOL fShowStartPage : 1; UINT fSpareFlags : 13; } SHELLSTATE, *LPSHELLSTATE; -#endif +#endif /* _WIN32_WINNT >= 0x0500 */ + +#if (_WIN32_IE >= 0x0500) +#pragma pack(push,8) +typedef struct +{ + SIZE sizeDragImage; + POINT ptOffset; + HBITMAP hbmpDragImage; + COLORREF crColorKey; +} SHDRAGIMAGE, *LPSHDRAGIMAGE; +#pragma pack(pop) + +#undef INTERFACE +#define INTERFACE IDragSourceHelper +DECLARE_INTERFACE_(IDragSourceHelper, IUnknown) +{ + STDMETHOD (QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; + STDMETHOD_(ULONG, AddRef) (THIS) PURE; + STDMETHOD_(ULONG, Release) (THIS) PURE; + STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; + STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE; +}; + +#undef INTERFACE +#define INTERFACE IDropTargetHelper +DECLARE_INTERFACE_(IDropTargetHelper, IUnknown) +{ + STDMETHOD (QueryInterface)(THIS_ REFIID riid, void** ppv) PURE; + STDMETHOD_(ULONG, AddRef) (THIS) PURE; + STDMETHOD_(ULONG, Release) (THIS) PURE; + STDMETHOD (DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; + STDMETHOD (DragLeave)(THIS) PURE; + STDMETHOD (DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; + STDMETHOD (Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; + STDMETHOD (Show)(THIS_ BOOL fShow) PURE; +}; +#endif /* _WIN32_IE >= 0x0500 */ void WINAPI SHAddToRecentDocs(UINT,PCVOID); LPITEMIDLIST WINAPI SHBrowseForFolderA(PBROWSEINFOA); @@ -871,6 +929,7 @@ typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO; #endif #endif /* UNICODE */ + #pragma pack(pop) #ifdef __cplusplus } diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index 8879002f1..e6ba9b98e 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -1958,6 +1958,9 @@ extern "C" { #define WA_CLICKACTIVE 2 #define ICON_SMALL 0 #define ICON_BIG 1 +#if _WIN32_WINNT >= 0x0501 +#define ICON_SMALL2 2 +#endif #define HBMMENU_CALLBACK ((HBITMAP) -1) #define HBMMENU_SYSTEM ((HBITMAP)1) #define HBMMENU_MBAR_RESTORE ((HBITMAP)2) -- 2.43.5