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