Common Control Header Update

Robert Shearman rob at codeweavers.com
Tue Aug 24 19:22:40 CDT 2004


Changelog:
Bring common control header up to date with new additions in XP.

-------------- next part --------------
Index: wine/include/commctrl.h
===================================================================
RCS file: /home/wine/wine/include/commctrl.h,v
retrieving revision 1.136
diff -u -p -r1.136 commctrl.h
--- wine/include/commctrl.h	6 Aug 2004 19:17:49 -0000	1.136
+++ wine/include/commctrl.h	25 Aug 2004 00:18:19 -0000
@@ -84,15 +84,17 @@ VOID WINAPI InitMUILanguage (LANGID uiLa
 /* common control shared messages */
 #define CCM_FIRST            0x2000
 
-#define CCM_SETBKCOLOR       (CCM_FIRST+1)     /* lParam = bkColor */
-#define CCM_SETCOLORSCHEME   (CCM_FIRST+2)     /* lParam = COLORSCHEME struct ptr */
-#define CCM_GETCOLORSCHEME   (CCM_FIRST+3)     /* lParam = COLORSCHEME struct ptr */
-#define CCM_GETDROPTARGET    (CCM_FIRST+4)
-#define CCM_SETUNICODEFORMAT (CCM_FIRST+5)
-#define CCM_GETUNICODEFORMAT (CCM_FIRST+6)
-#define CCM_SETVERSION       (CCM_FIRST+7)
-#define CCM_GETVERSION       (CCM_FIRST+8)
-#define CCM_SETNOTIFYWINDOW  (CCM_FIRST+9)     /* wParam = hwndParent */
+#define CCM_SETBKCOLOR       (CCM_FIRST+0x1)     /* lParam = bkColor */
+#define CCM_SETCOLORSCHEME   (CCM_FIRST+0x2)     /* lParam = COLORSCHEME struct ptr */
+#define CCM_GETCOLORSCHEME   (CCM_FIRST+0x3)     /* lParam = COLORSCHEME struct ptr */
+#define CCM_GETDROPTARGET    (CCM_FIRST+0x4)
+#define CCM_SETUNICODEFORMAT (CCM_FIRST+0x5)
+#define CCM_GETUNICODEFORMAT (CCM_FIRST+0x6)
+#define CCM_SETVERSION       (CCM_FIRST+0x7)
+#define CCM_GETVERSION       (CCM_FIRST+0x8)
+#define CCM_SETNOTIFYWINDOW  (CCM_FIRST+0x9)     /* wParam = hwndParent */
+#define CCM_SETWINDOWTHEME   (CCM_FIRST+0xb)
+#define CCM_DPISCALE         (CCM_FIRST+0xc)
 
 
 /* common notification codes (WM_NOTIFY)*/
@@ -114,6 +116,10 @@ VOID WINAPI InitMUILanguage (LANGID uiLa
 #define NM_SETCURSOR            (NM_FIRST-17)
 #define NM_CHAR                 (NM_FIRST-18)
 #define NM_TOOLTIPSCREATED      (NM_FIRST-19)
+#define NM_LDOWN                (NM_FIRST-20)
+#define NM_RDOWN                (NM_FIRST-21)
+#define NM_THEMECHANGED         (NM_FIRST-22)
+
 
 #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
     (fn)((hwnd), (int)(wParam), (NMHDR*)(lParam))
@@ -130,6 +136,9 @@ VOID WINAPI InitMUILanguage (LANGID uiLa
 #define I_IMAGENONE              (-2)
 #define I_INDENTCALLBACK         (-1)
 #define I_CHILDRENCALLBACK       (-1)
+#define I_GROUPIDCALLBACK        (-1)
+#define I_GROUPIDNONE            (-2)
+#define I_COLUMNSCALLBACK        ((UINT)-1)
 
 /* owner drawn types */
 #define ODT_HEADER      100
@@ -234,15 +243,16 @@ typedef struct tagNMCHAR
 
 /* itemState flags */
 
-#define CDIS_SELECTED	 	0x0001
-#define CDIS_GRAYED		0x0002
-#define CDIS_DISABLED		0x0004
-#define CDIS_CHECKED		0x0008
-#define CDIS_FOCUS		0x0010
-#define CDIS_DEFAULT		0x0020
-#define CDIS_HOT		0x0040
+#define CDIS_SELECTED           0x0001
+#define CDIS_GRAYED             0x0002
+#define CDIS_DISABLED           0x0004
+#define CDIS_CHECKED            0x0008
+#define CDIS_FOCUS              0x0010
+#define CDIS_DEFAULT            0x0020
+#define CDIS_HOT                0x0040
 #define CDIS_MARKED         	0x0080
 #define CDIS_INDETERMINATE  	0x0100
+#define CDIS_SHOWKEYBOARDCUES   0x0200
 
 
 typedef struct tagNMCUSTOMDRAWINFO
@@ -479,15 +489,17 @@ typedef struct _IMAGELIST *HIMAGELIST;
 #define CLR_DEFAULT      0xFF000000
 #define CLR_HILIGHT      CLR_DEFAULT
 
-#define ILC_MASK         0x0001
-#define ILC_COLOR        0x0000
-#define ILC_COLORDDB     0x00FE
-#define ILC_COLOR4       0x0004
-#define ILC_COLOR8       0x0008
-#define ILC_COLOR16      0x0010
-#define ILC_COLOR24      0x0018
-#define ILC_COLOR32      0x0020
-#define ILC_PALETTE      0x0800  /* no longer supported by M$ */
+#define ILC_MASK          0x0001
+#define ILC_COLOR         0x0000
+#define ILC_COLORDDB      0x00FE
+#define ILC_COLOR4        0x0004
+#define ILC_COLOR8        0x0008
+#define ILC_COLOR16       0x0010
+#define ILC_COLOR24       0x0018
+#define ILC_COLOR32       0x0020
+#define ILC_PALETTE       0x0800  /* no longer supported by M$ */
+#define ILC_MIRROR        0x2000
+#define ILC_PERITEMMIRROR 0x8000
 
 #define ILD_NORMAL        0x0000
 #define ILD_TRANSPARENT   0x0001
@@ -684,6 +696,8 @@ BOOL WINAPI GetWindowSubclass(HWND, SUBC
 BOOL WINAPI RemoveWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR);
 LRESULT WINAPI DefSubclassProc(HWND, UINT, WPARAM, LPARAM);
 
+int WINAPI DrawShadowText(HDC, LPCWSTR, UINT, RECT*, DWORD, COLORREF, COLORREF, int, int);
+
 /* Header control */
 
 #define WC_HEADERA		"SysHeader32"
@@ -702,6 +716,8 @@ static const WCHAR WC_HEADERW[] = { 'S',
 #define HDS_HIDDEN              0x0008
 #define HDS_DRAGDROP            0x0040
 #define HDS_FULLDRAG            0x0080
+#define HDS_FILTERBAR           0x0100
+#define HDS_FLAT                0x0200
 
 #define HDI_WIDTH               0x0001
 #define HDI_HEIGHT              HDI_WIDTH
@@ -712,6 +728,7 @@ static const WCHAR WC_HEADERW[] = { 'S',
 #define HDI_IMAGE               0x0020
 #define HDI_DI_SETITEM          0x0040
 #define HDI_ORDER               0x0080
+#define HDI_FILTER              0x0100
 
 #define HDF_LEFT                0x0000
 #define HDF_RIGHT               0x0001
@@ -719,6 +736,8 @@ static const WCHAR WC_HEADERW[] = { 'S',
 #define HDF_JUSTIFYMASK         0x0003
 #define HDF_RTLREADING          0x0004
 
+#define HDF_SORTDOWN            0x0200
+#define HDF_SORTUP              0x0400
 #define HDF_IMAGE               0x0800
 #define HDF_BITMAP_ON_RIGHT     0x1000
 #define HDF_BITMAP              0x2000
@@ -729,6 +748,8 @@ static const WCHAR WC_HEADERW[] = { 'S',
 #define HHT_ONHEADER            0x0002
 #define HHT_ONDIVIDER           0x0004
 #define HHT_ONDIVOPEN           0x0008
+#define HHT_ONFILTER            0x0010
+#define HHT_ONFILTERBUTTON      0x0020
 #define HHT_ABOVE               0x0100
 #define HHT_BELOW               0x0200
 #define HHT_TORIGHT             0x0400
@@ -796,6 +817,8 @@ static const WCHAR WC_HEADERW[] = { 'S',
 #define HDN_GETDISPINFO         WINELIB_NAME_AW(HDN_GETDISPINFO)
 #define HDN_BEGINDRAG           (HDN_FIRST-10)
 #define HDN_ENDDRAG             (HDN_FIRST-11)
+#define HDN_FILTERCHANGE        (HDN_FIRST-12)
+#define HDN_FILTERBTNCLICK      (HDN_FIRST-13)
 
 typedef struct _HD_LAYOUT
 {
@@ -843,6 +866,27 @@ typedef struct _HD_ITEMW
 #define HDITEM_V1_SIZEW CCSIZEOF_STRUCT(HDITEMW, lParam)
 #define HDITEM_V1_SIZE WINELIB_NAME_AW(HDITEM_V1_SIZE)
 
+#define HDFT_ISSTRING      0x0000
+#define HDFT_ISNUMBER      0x0001
+#define HDFT_HASNOVALUE    0x8000
+
+typedef struct _HD_TEXTFILTERA
+{
+    LPSTR pszText;
+    INT cchTextMax;
+} HD_TEXTFILTERA, *LPHD_TEXTFILTERA;
+
+typedef struct _HD_TEXTFILTERW
+{
+    LPWSTR pszText;
+    INT cchTextMax;
+} HD_TEXTFILTERW, *LPHD_TEXTFILTERW;
+
+#define HD_TEXTFILTER WINELIB_NAME_AW(HD_TEXTFILTER)
+#define HDTEXTFILTER WINELIB_NAME_AW(HD_TEXTFILTER)
+#define LPHD_TEXTFILTER WINELIB_NAME_AW(LPHD_TEXTFILTER)
+#define LPHDTEXTFILTER WINELIB_NAME_AW(LPHD_TEXTFILTER)
+
 typedef struct _HD_HITTESTINFO
 {
     POINT pt;
@@ -897,6 +941,13 @@ typedef struct tagNMHDDISPINFOW
 #define NMHDDISPINFO		WINELIB_NAME_AW(NMHDDISPINFO)
 #define LPNMHDDISPINFO		WINELIB_NAME_AW(LPNMHDDISPINFO)
 
+typedef struct tagNMHDFILTERBTNCLICK
+{
+    NMHDR hdr;
+    INT iItem;
+    RECT rc;
+} NMHDFILTERBTNCLICK, *LPNMHDFILTERBTNCLICK;
+
 #define Header_GetItemCount(hwndHD) \
   (INT)SNDMSGA((hwndHD),HDM_GETITEMCOUNT,0,0L)
 #define Header_InsertItemA(hwndHD,i,phdi) \
@@ -1127,6 +1178,9 @@ static const WCHAR TOOLBARCLASSNAMEW[] =
 #define TB_UNKWN463              (WM_USER+99)
 #define TB_UNKWN464              (WM_USER+100)
 
+#define TB_GETMETRICS            (WM_USER+101)
+#define TB_SETMETRICS            (WM_USER+102)
+#define TB_SETWINDOWTHEME        CCM_SETWINDOWTHEME
 
 #define TBN_FIRST               (0U-700U)
 #define TBN_LAST                (0U-720U)
@@ -1177,6 +1231,7 @@ typedef struct _NMTBCUSTOMDRAW
     RECT rcText;
     int nStringBkMode;
     int nHLStringBkMode;
+    int iListGap;
 } NMTBCUSTOMDRAW, *LPNMTBCUSTOMDRAW;
 
 /* return flags for Toolbar NM_CUSTOMDRAW notifications */
@@ -1431,6 +1486,45 @@ typedef struct
 #define TBIMHT_AFTER      0x00000001 /* TRUE = insert After iButton, otherwise before */
 #define TBIMHT_BACKGROUND 0x00000002 /* TRUE if and only if missed buttons completely */
 
+typedef struct tagNMTBSAVE
+{
+    NMHDR hdr;
+    DWORD* pData;
+    DWORD* pCurrent;
+    UINT cbData;
+    int iItem;
+    int cButtons;
+    TBBUTTON tbButton;
+} NMTBSAVE, *LPNMTBSAVE;
+
+typedef struct tagNMTBRESTORE
+{
+    NMHDR hdr;
+    DWORD* pData;
+    DWORD* pCurrent;
+    UINT cbData;
+    int iItem;
+    int cButtons;
+    int cbBytesPerRecord;
+    TBBUTTON tbButton;
+} NMTBRESTORE, *LPNMTBRESTORE;
+
+#define TBMF_PAD           0x00000001
+#define TBMF_BARPAD        0x00000002
+#define TBMF_BUTTONSPACING 0x00000004
+
+typedef struct
+{
+    UINT cbSize;
+    DWORD dwMask;
+    INT cxPad;
+    INT cyPad;
+    INT cxBarPad;
+    INT cyBarPad;
+    INT cxButtonSpacing;
+    INT cyButtonSpacing;
+} TBMETRICS, *LPTBMETRICS;
+
 HWND WINAPI
 CreateToolbar(HWND, DWORD, UINT, INT, HINSTANCE,
               UINT, LPCTBBUTTON, INT);
@@ -1483,6 +1577,12 @@ static const WCHAR TOOLTIPS_CLASSW[] = {
 #define TTDT_INITIAL            3
 
 
+#define TTI_NONE                0
+#define TTI_INFO                1
+#define TTI_WARNING             2
+#define TTI_ERROR               3
+
+
 #define TTM_ACTIVATE            (WM_USER+1)
 #define TTM_SETDELAYTIME        (WM_USER+3)
 #define TTM_ADDTOOLA            (WM_USER+4)
@@ -1532,6 +1632,13 @@ static const WCHAR TOOLTIPS_CLASSW[] = {
 #define TTM_POP                 (WM_USER+28)
 #define TTM_UPDATE              (WM_USER+29)
 #define TTM_GETBUBBLESIZE       (WM_USER+30)
+#define TTM_ADJUSTRECT          (WM_USER+31)
+#define TTM_SETTITLEA           (WM_USER+32)
+#define TTM_SETTITLEW           (WM_USER+33)
+#define TTM_SETTITLE            WINELIB_NAME_AW(TTN_GETDISPINFO)
+#define TTM_POPUP               (WM_USER+34)
+#define TTM_GETTITLE            (WM_USER+35)
+#define TTM_SETWINDOWTHEME      CCM_SETWINDOWTHEME
 
 
 #define TTN_FIRST               (0U-520U)
@@ -1555,6 +1662,7 @@ typedef struct tagTOOLINFOA {
     HINSTANCE hinst;
     LPSTR lpszText;
     LPARAM lParam;
+    void *lpReserved;
 } TTTOOLINFOA, *LPTOOLINFOA, *PTOOLINFOA, *LPTTTOOLINFOA;
 
 typedef struct tagTOOLINFOW {
@@ -1566,6 +1674,7 @@ typedef struct tagTOOLINFOW {
     HINSTANCE hinst;
     LPWSTR lpszText;
     LPARAM lParam;
+    void *lpReserved;
 } TTTOOLINFOW, *LPTOOLINFOW, *PTOOLINFOW, *LPTTTOOLINFOW;
 
 #define TTTOOLINFO WINELIB_NAME_AW(TTTOOLINFO)
@@ -1625,6 +1734,14 @@ typedef struct tagNMTTDISPINFOW
 #define NMTTDISPINFO_V1_SIZEW CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags)
 #define NMTTDISPINFO_V1_SIZE WINELIB_NAME_AW(NMTTDISPINFO_V1_SIZE)
 
+typedef struct _TTGETTITLE
+{
+    DWORD dwSize;
+    UINT uTitleBitmap;
+    UINT cch;
+    WCHAR* pszTitle;
+} TTGETTITLE, *PTTGETTITLE;
+
 #define TOOLTIPTEXTW    NMTTDISPINFOW
 #define TOOLTIPTEXTA    NMTTDISPINFOA
 #define TOOLTIPTEXT     NMTTDISPINFO
@@ -1738,6 +1855,7 @@ static const WCHAR REBARCLASSNAMEW[] = {
 #define RB_GETCOLORSCHEME       CCM_GETCOLORSCHEME
 #define RB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
 #define RB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT
+#define RB_SETWINDOWTHEME       CCM_SETWINDOWTHEME
 
 #define RBN_FIRST               (0U-831U)
 #define RBN_LAST                (0U-859U)
@@ -1865,6 +1983,20 @@ typedef struct _RB_HITTESTINFO
     INT   iBand;
 } RBHITTESTINFO, *LPRBHITTESTINFO;
 
+#define RBAB_AUTOSIZE   0x0001
+#define RBAB_ADDBAND    0x0002
+
+typedef struct tagNMREBARAUTOBREAK
+{
+    NMHDR hdr;
+    UINT uBand;
+    UINT wID;
+    LPARAM lParam;
+    UINT uMsg;
+    UINT fStyleCurrent;
+    BOOL fAutoBreak;
+} NMREBARAUTOBREAK, *LPNMREBARAUTOBREAK;
+
 
 /* Trackbar control */
 
@@ -2107,7 +2239,8 @@ static const WCHAR WC_TREEVIEWW[] = { 'S
 #define TVM_GETLINECOLOR        (TV_FIRST+41)
 #define TVM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
 #define TVM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
-
+#define TVM_MAPACCIDTOHTREEITEM (TV_FIRST + 42)
+#define TVM_MAPHTREEITEMTOACCID (TV_FIRST + 43)
 
 
 #define TVN_FIRST               (0U-400U)
@@ -2247,6 +2380,7 @@ static const WCHAR WC_TREEVIEWW[] = { 'S
 #define TVGN_DROPHILITE       8
 #define TVGN_CARET            9
 #define TVGN_LASTVISIBLE      10
+#define TVSI_NOSINGLEEXPAND   0x8000
 
 #define TVC_UNKNOWN           0x00
 #define TVC_BYMOUSE           0x01
@@ -2629,6 +2763,15 @@ typedef struct tagTVKEYDOWN
 #define TreeView_GetInsertMarkColor(hwnd) \
     (COLORREF)SNDMSGA((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0)
 
+#define TreeView_SetItemState(hwndTV, hti, data, _mask) \
+{ TVITEM _TVi; \
+  _TVi.mask = TVIF_STATE; \
+  _TVi.hItem = hti; \
+  _TVi.stateMask = _mask; \
+  _TVi.state = data; \
+  SNDMSGA((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_TVi); \
+}
+
 #define TreeView_GetItemState(hwndTV, hti, mask) \
    (UINT)SNDMSGA((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), (LPARAM)(mask))
 #define TreeView_GetCheckState(hwndTV, hti) \
@@ -2641,14 +2784,11 @@ typedef struct tagTVKEYDOWN
 #define TreeView_GetLineColor(hwnd) \
     (COLORREF)SNDMSGA((hwnd), TVM_GETLINECOLOR, 0, 0)
 
-#define TreeView_SetItemState(hwndTV, hti, data, _mask) \
-{ TVITEM _TVi; \
-  _TVi.mask = TVIF_STATE; \
-  _TVi.hItem = hti; \
-  _TVi.stateMask = _mask; \
-  _TVi.state = data; \
-  SNDMSGA((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_TVi); \
-}
+#define TreeView_MapAccIDToHTREEITEM(hwnd, id) \
+    (HTREEITEM)SNDMSG((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0)
+
+#define TreeView_MapHTREEITEMToAccID(hwnd, htreeitem) \
+    (UINT)SNDMSG((hwnd), TVM_MAPHTREEITEMTOACCID, (WPARAM)htreeitem, 0)
 
 
 /* Listview control */
@@ -2705,6 +2845,13 @@ static const WCHAR WC_LISTVIEWW[] = { 'S
 #define LVS_EX_UNDERLINEHOT     0x0800
 #define LVS_EX_UNDERLINECOLD    0x1000
 #define LVS_EX_MULTIWORKAREAS   0x2000
+#define LVS_EX_LABELTIP         0x4000
+#define LVS_EX_BORDERSELECT     0x8000
+#define LVS_EX_DOUBLEBUFFER     0x00010000
+#define LVS_EX_HIDELABELS       0x00020000
+#define LVS_EX_SINGLEROW        0x00040000
+#define LVS_EX_SNAPTOGRID       0x00080000
+#define LVS_EX_SIMPLESELECT     0x00100000
 
 #define LVCF_FMT                0x0001
 #define LVCF_WIDTH              0x0002
@@ -2783,6 +2930,47 @@ static const WCHAR WC_LISTVIEWW[] = { 'S
 #define LVHT_TORIGHT		0x0020
 #define LVHT_TOLEFT		0x0040
 
+#define LV_VIEW_ICON            0x0000
+#define LV_VIEW_DETAILS         0x0001
+#define LV_VIEW_SMALLICON       0x0002
+#define LV_VIEW_LIST            0x0003
+#define LV_VIEW_TILE            0x0004
+#define LV_VIEW_MAX             0x0004
+
+#define LVGF_NONE               0x00000000
+#define LVGF_HEADER             0x00000001
+#define LVGF_FOOTER             0x00000002
+#define LVGF_STATE              0x00000004
+#define LVGF_ALIGN              0x00000008
+#define LVGF_GROUPID            0x00000010
+
+#define LVGS_NORMAL             0x00000000
+#define LVGS_COLLAPSED          0x00000001
+#define LVGS_HIDDEN             0x00000002
+
+#define LVGA_HEADER_LEFT        0x00000001
+#define LVGA_HEADER_CENTER      0x00000002
+#define LVGA_HEADER_RIGHT       0x00000004
+#define LVGA_FOOTER_LEFT        0x00000008
+#define LVGA_FOOTER_CENTER      0x00000010
+#define LVGA_FOOTER_RIGHT       0x00000020
+
+#define LVGMF_NONE              0x00000000
+#define LVGMF_BORDERSIZE        0x00000001
+#define LVGMF_BORDERCOLOR       0x00000002
+#define LVGMF_TEXTCOLOR         0x00000004
+
+#define LVTVIF_AUTOSIZE         0x00000000
+#define LVTVIF_FIXEDWIDTH       0x00000001
+#define LVTVIF_FIXEDHEIGHT      0x00000002
+#define LVTVIF_FIXEDSIZE        0x00000003
+
+#define LVTVIM_TILESIZE         0x00000001
+#define LVTVIM_COLUMNS          0x00000002
+#define LVTVIM_LABELMARGIN      0x00000004
+
+#define LVIM_AFTER              0x00000001
+
 #define LVM_FIRST               0x1000
 #define LVM_GETBKCOLOR          (LVM_FIRST+0)
 #define LVM_SETBKCOLOR          (LVM_FIRST+1)
@@ -2890,6 +3078,41 @@ static const WCHAR WC_LISTVIEWW[] = { 'S
 #define LVM_GETTOOLTIPS         (LVM_FIRST+78)
 #define LVM_GETUNICODEFORMAT    (CCM_GETUNICODEFORMAT)
 #define LVM_SETUNICODEFORMAT    (CCM_SETUNICODEFORMAT)
+#define LVM_SETSELECTEDCOLUMN   (LVM_FIRST + 140)
+#define LVM_SETTILEWIDTH        (LVM_FIRST + 141)
+#define LVM_SETVIEW             (LVM_FIRST + 142)
+#define LVM_GETVIEW             (LVM_FIRST + 143)
+#define LVM_INSERTGROUP         (LVM_FIRST + 145)
+#define LVM_SETGROUPINFO        (LVM_FIRST + 147)
+#define LVM_GETGROUPINFO        (LVM_FIRST + 149)
+#define LVM_REMOVEGROUP         (LVM_FIRST + 150)
+#define LVM_MOVEGROUP           (LVM_FIRST + 151)
+#define LVM_MOVEITEMTOGROUP     (LVM_FIRST + 154)
+#define LVM_SETGROUPMETRICS     (LVM_FIRST + 155)
+#define LVM_GETGROUPMETRICS     (LVM_FIRST + 156)
+#define LVM_ENABLEGROUPVIEW     (LVM_FIRST + 157)
+#define LVM_SORTGROUPS          (LVM_FIRST + 158)
+#define LVM_INSERTGROUPSORTED   (LVM_FIRST + 159)
+#define LVM_REMOVEALLGROUPS     (LVM_FIRST + 160)
+#define LVM_HASGROUP            (LVM_FIRST + 161)
+#define LVM_SETTILEVIEWINFO     (LVM_FIRST + 162)
+#define LVM_GETTILEVIEWINFO     (LVM_FIRST + 163)
+#define LVM_SETTILEINFO         (LVM_FIRST + 164)
+#define LVM_GETTILEINFO         (LVM_FIRST + 165)
+#define LVM_SETINSERTMARK       (LVM_FIRST + 166)
+#define LVM_GETINSERTMARK       (LVM_FIRST + 167)
+#define LVM_INSERTMARKHITTEST   (LVM_FIRST + 168)
+#define LVM_GETINSERTMARKRECT   (LVM_FIRST + 169)
+#define LVM_SETINSERTMARKCOLOR  (LVM_FIRST + 170)
+#define LVM_GETINSERTMARKCOLOR  (LVM_FIRST + 171)
+#define LVM_SETINFOTIP          (LVM_FIRST + 173)
+#define LVM_GETSELECTEDCOLUMN   (LVM_FIRST + 174)
+#define LVM_ISGROUPVIEWENABLED  (LVM_FIRST + 175)
+#define LVM_GETOUTLINECOLOR     (LVM_FIRST + 176)
+#define LVM_SETOUTLINECOLOR     (LVM_FIRST + 177)
+#define LVM_CANCELEDITLABEL     (LVM_FIRST + 179)
+#define LVM_MAPINDEXTOID        (LVM_FIRST + 180)
+#define LVM_MAPIDTOINDEX        (LVM_FIRST + 181)
 
 #define LVN_FIRST               (0U-100U)
 #define LVN_LAST                (0U-199U)
@@ -3030,6 +3253,8 @@ typedef struct tagLVBKIMAGEW
 #define LVBKIF_STYLE_NORMAL     0x00000000
 #define LVBKIF_STYLE_TILE       0x00000010
 #define LVBKIF_STYLE_MASK       0x00000010
+#define LVBKIF_FLAG_TILEOFFSET  0x00000100
+#define LVBKIF_TYPE_WATERMARK   0x10000000
 
 #define ListView_SetBkImage(hwnd, plvbki) \
     (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)plvbki)
@@ -3261,7 +3486,7 @@ typedef struct LVINSERTGROUPSORTEDW
 
 /* Tile related structures */
 
-typedef struct LVTILEINFO 
+typedef struct LVTILEINFO
 {
 	UINT cbSize;
 	int iItem;
@@ -3544,17 +3769,84 @@ typedef struct NMLVSCROLL
     (HWND)SNDMSGA((hwndLV), LVM_SETTOOLTIPS, (WPARAM)hwndNewHwnd, 0L)
 #define ListView_SubItemHitTest(hwndLV, plvhti) \
     (int)SNDMSGA((hwndLV), LVM_SUBITEMHITTEST, 0, (LPARAM)(LPLVHITTESTINFO)(plvhti))
-
 #define ListView_GetSelectionMark(hwndLV) \
     (int)SNDMSG((hwndLV), LVM_GETSELECTIONMARK, 0, 0)
 #define ListView_SetSelectionMark(hwndLV, iItem) \
     (int)SNDMSG((hwndLV), LVM_SETSELECTIONMARK, 0, (LPARAM)(iItem))
-
 #define ListView_GetViewRect(hwndLV, prc) \
     (BOOL)SNDMSG((hwndLV),LVM_GETVIEWRECT,0,(LPARAM)(LPRECT)(prc))
-
 #define ListView_GetHeader(hwndLV) \
     (HWND)SNDMSG((hwndLV),LVM_GETHEADER,0,0L)
+#define ListView_SetSelectedColumn(hwnd, iCol) \
+    SNDMSG((hwnd), LVM_SETSELECTEDCOLUMN, (WPARAM)iCol, 0)
+#define ListView_SetTileWidth(hwnd, cpWidth) \
+    SNDMSG((hwnd), LVM_SETTILEWIDTH, (WPARAM)cpWidth, 0)
+#define ListView_SetView(hwnd, iView) \
+    (DWORD)SNDMSG((hwnd), LVM_SETVIEW, (WPARAM)(DWORD)iView, 0)
+#define ListView_GetView(hwnd) \
+    (DWORD)SNDMSG((hwnd), LVM_GETVIEW, 0, 0)
+#define ListView_InsertGroup(hwnd, index, pgrp) \
+    SNDMSG((hwnd), LVM_INSERTGROUP, (WPARAM)index, (LPARAM)pgrp)
+#define ListView_SetGroupInfo(hwnd, iGroupId, pgrp) \
+    SNDMSG((hwnd), LVM_SETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp)
+#define ListView_GetGroupInfo(hwnd, iGroupId, pgrp) \
+    SNDMSG((hwnd), LVM_GETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp)
+#define ListView_RemoveGroup(hwnd, iGroupId) \
+    SNDMSG((hwnd), LVM_REMOVEGROUP, (WPARAM)iGroupId, 0)
+#define ListView_MoveGroup(hwnd, iGroupId, toIndex) \
+    SNDMSG((hwnd), LVM_MOVEGROUP, (WPARAM)iGroupId, (LPARAM)toIndex)
+#define ListView_MoveItemToGroup(hwnd, idItemFrom, idGroupTo) \
+    SNDMSG((hwnd), LVM_MOVEITEMTOGROUP, (WPARAM)idItemFrom, (LPARAM)idGroupTo)
+#define ListView_SetGroupMetrics(hwnd, pGroupMetrics) \
+    SNDMSG((hwnd), LVM_SETGROUPMETRICS, 0, (LPARAM)pGroupMetrics)
+#define ListView_GetGroupMetrics(hwnd, pGroupMetrics) \
+    SNDMSG((hwnd), LVM_GETGROUPMETRICS, 0, (LPARAM)pGroupMetrics)
+#define ListView_EnableGroupView(hwnd, fEnable) \
+    SNDMSG((hwnd), LVM_ENABLEGROUPVIEW, (WPARAM)fEnable, 0)
+#define ListView_SortGroups(hwnd, _pfnGroupCompate, _plv) \
+    SNDMSG((hwnd), LVM_SORTGROUPS, (WPARAM)_pfnGroupCompate, (LPARAM)_plv)
+#define ListView_InsertGroupSorted(hwnd, structInsert) \
+    SNDMSG((hwnd), LVM_INSERTGROUPSORTED, (WPARAM)structInsert, 0)
+#define ListView_RemoveAllGroups(hwnd) \
+    SNDMSG((hwnd), LVM_REMOVEALLGROUPS, 0, 0)
+#define ListView_HasGroup(hwnd, dwGroupId) \
+    SNDMSG((hwnd), LVM_HASGROUP, dwGroupId, 0)
+#define ListView_SetTileViewInfo(hwnd, ptvi) \
+    SNDMSG((hwnd), LVM_SETTILEVIEWINFO, 0, (LPARAM)ptvi)
+#define ListView_GetTileViewInfo(hwnd, ptvi) \
+    SNDMSG((hwnd), LVM_GETTILEVIEWINFO, 0, (LPARAM)ptvi)
+#define ListView_SetTileInfo(hwnd, pti) \
+    SNDMSG((hwnd), LVM_SETTILEINFO, 0, (LPARAM)pti)
+#define ListView_GetTileInfo(hwnd, pti) \
+    SNDMSG((hwnd), LVM_GETTILEINFO, 0, (LPARAM)pti)
+#define ListView_SetInsertMark(hwnd, lvim) \
+    (BOOL)SNDMSG((hwnd), LVM_SETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim))
+#define ListView_GetInsertMark(hwnd, lvim) \
+    (BOOL)SNDMSG((hwnd), LVM_GETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim))
+#define ListView_InsertMarkHitTest(hwnd, point, lvim) \
+    (int)SNDMSG((hwnd), LVM_INSERTMARKHITTEST, (WPARAM)(LPPOINT)(point), (LPARAM)(LPLVINSERTMARK)(lvim))
+#define ListView_GetInsertMarkRect(hwnd, rc) \
+    (int)SNDMSG((hwnd), LVM_GETINSERTMARKRECT, (WPARAM)0, (LPARAM)(LPRECT)(rc))
+#define ListView_SetInsertMarkColor(hwnd, color) \
+    (COLORREF)SNDMSG((hwnd), LVM_SETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color))
+#define ListView_GetInsertMarkColor(hwnd) \
+    (COLORREF)SNDMSG((hwnd), LVM_GETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)0)
+#define ListView_SetInfoTip(hwndLV, plvInfoTip)\
+    (BOOL)SNDMSG((hwndLV), LVM_SETINFOTIP, (WPARAM)0, (LPARAM)plvInfoTip)
+#define ListView_GetSelectedColumn(hwnd) \
+    (UINT)SNDMSG((hwnd), LVM_GETSELECTEDCOLUMN, 0, 0)
+#define ListView_IsGroupViewEnabled(hwnd) \
+    (BOOL)SNDMSG((hwnd), LVM_ISGROUPVIEWENABLED, 0, 0)
+#define ListView_GetOutlineColor(hwnd) \
+    (COLORREF)SNDMSG((hwnd), LVM_GETOUTLINECOLOR, 0, 0)
+#define ListView_SetOutlineColor(hwnd, color) \
+    (COLORREF)SNDMSG((hwnd), LVM_SETOUTLINECOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color))
+#define ListView_CancelEditLabel(hwnd) \
+    (VOID)SNDMSG((hwnd), LVM_CANCELEDITLABEL, (WPARAM)0, (LPARAM)0)
+#define ListView_MapIndexToID(hwnd, index) \
+    (UINT)SNDMSG((hwnd), LVM_MAPINDEXTOID, (WPARAM)index, (LPARAM)0)
+#define ListView_MapIDToIndex(hwnd, id) \
+    (UINT)SNDMSG((hwnd), LVM_MAPIDTOINDEX, (WPARAM)id, (LPARAM)0)
 
 /* Tab Control */
 
@@ -3832,6 +4124,7 @@ static const WCHAR WC_COMBOBOXEXW[] = { 
 #define CBEM_SETUNICODEFORMAT   CCM_SETUNICODEFORMAT
 #define CBEM_GETUNICODEFORMAT   CCM_GETUNICODEFORMAT
 #define CBEM_HASEDITCHANGED     (WM_USER+10)
+#define CBEM_SETWINDOWTHEME     CCM_SETWINDOWTHEME
 
 #define CBEIF_TEXT              0x00000001
 #define CBEIF_IMAGE             0x00000002


More information about the wine-patches mailing list