Listview struct defs v6.0

Dimitrie O. Paun dpaun at rogers.com
Wed Oct 16 16:17:11 CDT 2002


ChangeLog
  Add/update the listview structures to version 6.0

Index: include/commctrl.h
===================================================================
RCS file: /var/cvs/wine/include/commctrl.h,v
retrieving revision 1.97
diff -u -r1.97 commctrl.h
--- include/commctrl.h	2 Oct 2002 20:01:02 -0000	1.97
+++ include/commctrl.h	16 Oct 2002 21:11:44 -0000
@@ -2905,6 +2905,9 @@
     INT  iImage;
     LPARAM lParam;
     INT  iIndent;	/* (_WIN32_IE >= 0x0300) */
+    int iGroupId;       /* (_WIN32_IE >= 0x560) */
+    UINT cColumns;      /* (_WIN32_IE >= 0x560) */
+    PUINT puColumns;	/* (_WIN32_IE >= 0x560) */
 } LVITEMA, *LPLVITEMA;
 
 typedef struct tagLVITEMW
@@ -2919,8 +2922,41 @@
     INT  iImage;
     LPARAM lParam;
     INT  iIndent;	/* (_WIN32_IE >= 0x0300) */
+    int iGroupId;       /* (_WIN32_IE >= 0x560) */
+    UINT cColumns;      /* (_WIN32_IE >= 0x560) */
+    PUINT puColumns;	/* (_WIN32_IE >= 0x560) */
 } LVITEMW, *LPLVITEMW;
 
+#define LVITEM   WINELIB_NAME_AW(LVITEM)
+#define LPLVITEM WINELIB_NAME_AW(LPLVITEM)
+
+#define LVITEM_V1_SIZEA CCSIZEOF_STRUCT(LVITEMA, lParam)
+#define LVITEM_V1_SIZEW CCSIZEOF_STRUCT(LVITEMW, lParam)
+#define LVITEM_V1_SIZE WINELIB_NAME_AW(LVITEM_V1_SIZE)
+
+#define LV_ITEM LVITEM
+
+typedef struct LVSETINFOTIPA
+{
+    UINT cbSize;
+    DWORD dwFlags;
+    LPSTR pszText;
+    int iItem;
+    int iSubItem;
+} LVSETINFOTIPA, *PLVSETINFOTIPA;
+
+typedef struct LVSETINFOTIPW
+{
+    UINT cbSize;
+    DWORD dwFlags;
+    LPWSTR pszText;
+    int iItem;
+    int iSubItem;
+} LVSETINFOTIPW, *PLVSETINFOTIPW;
+
+#define LVSETINFOTIP WINELIB_NAME_AW(LVSETINFOTIP)
+#define PLVSETINFOTIP WINELIB_NAME_AW(PLVSETINFOTIP)
+
 /* ListView background image structs and constants
    For _WIN32_IE version 0x400 and later. */
 
@@ -2961,15 +2997,6 @@
 #define ListView_GetBkImage(hwnd, plvbki) \
     (BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)plvbki)
 
-#define LVITEM   WINELIB_NAME_AW(LVITEM)
-#define LPLVITEM WINELIB_NAME_AW(LPLVITEM)
-
-#define LVITEM_V1_SIZEA CCSIZEOF_STRUCT(LVITEMA, lParam)
-#define LVITEM_V1_SIZEW CCSIZEOF_STRUCT(LVITEMW, lParam)
-#define LVITEM_V1_SIZE WINELIB_NAME_AW(LVITEM_V1_SIZE)
-
-#define LV_ITEM LVITEM
-
 typedef struct tagLVCOLUMNA
 {
     UINT mask;
@@ -3006,12 +3033,12 @@
 
 typedef struct tagNMLISTVIEW
 {
-    NMHDR   hdr;
-    INT   iItem;
-    INT   iSubItem;
-    UINT  uNewState;
-    UINT  uOldState;
-    UINT  uChanged;
+    NMHDR hdr;
+    INT iItem;
+    INT iSubItem;
+    UINT uNewState;
+    UINT uOldState;
+    UINT uChanged;
     POINT ptAction;
     LPARAM  lParam;
 } NMLISTVIEW, *LPNMLISTVIEW;
@@ -3032,15 +3059,15 @@
     UINT uKeyFlags;
 } NMITEMACTIVATE, *LPNMITEMACTIVATE;
 
-typedef struct tagLVDISPINFO
+typedef struct tagLVDISPINFOA
 {
-    NMHDR     hdr;
+    NMHDR hdr;
     LVITEMA item;
 } NMLVDISPINFOA, *LPNMLVDISPINFOA;
 
 typedef struct tagLVDISPINFOW
 {
-    NMHDR     hdr;
+    NMHDR hdr;
     LVITEMW item;
 } NMLVDISPINFOW, *LPNMLVDISPINFOW;
 
@@ -3118,6 +3145,98 @@
 #define LVFINDINFO WINELIB_NAME_AW(LVFINDINFO)
 #define LPLVFINDINFO WINELIB_NAME_AW(LPLVFINDINFO)
 
+/* Groups relates structures */
+
+typedef struct LVGROUPA
+{
+	UINT cbSize;
+	UINT mask;
+	LPSTR pszHeader;
+	int cchHeader;
+	int iGroupId;
+	UINT stateMask;
+	UINT state;
+	UINT uAlign;
+} LVGROUPA, *PLVGROUPA;
+
+typedef struct LVGROUPW
+{
+	UINT cbSize;
+	UINT mask;
+	LPWSTR pszHeader;
+	int cchHeader;
+	int iGroupId;
+	UINT stateMask;
+	UINT state;
+	UINT uAlign;
+} LVGROUPW, *PLVGROUPW;
+
+#define LVGROUP WINELIB_NAME_AW(LVGROUP)
+#define PLVGROUP WINELIB_NAME_AW(PLVGROUP)
+
+typedef struct LVGROUPMETRICS
+{
+	UINT cbSize;
+	UINT mask;
+	UINT Left;
+	UINT Top;
+	UINT Right;
+	UINT Bottom;
+	COLORREF crLeft;
+	COLORREF crTop;
+	COLORREF crRight;
+	COLORREF crBottom;
+	COLORREF crRightHeader;
+	COLORREF crFooter;
+} LVGROUPMETRICS, *PLVGROUPMETRICS;
+
+typedef INT (*PFNLVGROUPCOMPARE)(INT, INT, VOID*);
+
+typedef struct LVINSERTGROUPSORTEDA
+{
+	PFNLVGROUPCOMPARE pfnGroupCompare;
+	LPVOID *pvData;
+	LVGROUPA lvGroup;
+} LVINSERTGROUPSORTEDA, *PLVINSERTGROUPSORTEDA;
+
+typedef struct LVINSERTGROUPSORTEDW
+{
+	PFNLVGROUPCOMPARE pfnGroupCompare;
+	LPVOID *pvData;
+	LVGROUPW lvGroup;
+} LVINSERTGROUPSORTEDW, *PLVINSERTGROUPSORTEDW;
+
+#define LVINSERTGROUPSORTED WINELIB_NAME_AW(LVINSERTGROUPSORTED)
+#define PLVINSERTGROUPSORTED WINELIB_NAME_AW(PLVINSERTGROUPSORTED)
+
+/* Tile related structures */
+
+typedef struct LVTILEINFO 
+{
+	UINT cbSize;
+	int iItem;
+	UINT cColumns;
+	PUINT puColumns;
+} LVTILEINFO, *PLVTILEINFO;
+
+typedef struct LVTILEVIEWINFO
+{
+	UINT cbSize;
+	DWORD dwMask;
+	DWORD dwFlags;
+	SIZE sizeTile;
+	int cLines;
+	RECT rcLabelMargin;
+} LVTILEVIEWINFO, *PLVTILEVIEWINFO;
+
+typedef struct LVINSERTMARK
+{
+	UINT cbSize;
+	DWORD dwFlags;
+	int iItem;
+	DWORD dwReserved;
+} LVINSERTMARK, *PLVINSERTMARK;
+
 typedef struct tagTCHITTESTINFO
 {
 	POINT pt;
@@ -3135,7 +3254,15 @@
     NMCUSTOMDRAW nmcd;
     COLORREF clrText;
     COLORREF clrTextBk;
-    int iSubItem;
+    int iSubItem;	/* (_WIN32_IE >= 0x0400) */
+    DWORD dwItemType;	/* (_WIN32_IE >= 0x560) */
+    COLORREF clrFace;   /* (_WIN32_IE >= 0x560) */
+    int iIconEffect;	/* (_WIN32_IE >= 0x560) */
+    int iIconPhase;	/* (_WIN32_IE >= 0x560) */
+    int iPartId;	/* (_WIN32_IE >= 0x560) */
+    int iStateId;	/* (_WIN32_IE >= 0x560) */
+    RECT rcText;	/* (_WIN32_IE >= 0x560) */
+    UINT uAlign;	/* (_WIN32_IE >= 0x560) */
 } NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
 
 typedef struct tagNMLVCACHEHINT
@@ -3181,6 +3308,13 @@
 #define PNM_ODSTATECHANGE LPNMLVODSTATECHANGE
 #define LPNM_ODSTATECHANGE LPNMLVODSTATECHANGE
 #define NM_ODSTATECHANGE NMLVODSTATECHANGE
+
+typedef struct NMLVSCROLL
+{
+    NMHDR hdr;
+    int dx;
+    int dy;
+} NMLVSCROLL, *LPNMLVSCROLL;
 
 #define ListView_SetTextBkColor(hwnd,clrBk) \
     (BOOL)SendMessageA((hwnd),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(clrBk))




More information about the wine-patches mailing list