[PATCH 2/3] shell32/shellview: Set subitem callbacks for every column

Nikolay Sivov nsivov at codeweavers.com
Wed Jan 25 13:51:31 CST 2017


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/shell32/shlview.c | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
index c15a32d091..92eda5579a 100644
--- a/dlls/shell32/shlview.c
+++ b/dlls/shell32/shlview.c
@@ -562,22 +562,29 @@ static int LV_FindItemByPidl(
 	return -1;
 }
 
-/**********************************************************
-* LV_AddItem()
-*/
-static void shellview_add_item(IShellViewImpl * This, LPCITEMIDLIST pidl)
+static void shellview_add_item(IShellViewImpl *shellview, LPCITEMIDLIST pidl)
 {
-	LVITEMW	lvItem;
+    LVITEMW item;
+    UINT i;
 
-	TRACE("(%p)(pidl=%p)\n", This, pidl);
+    TRACE("(%p)(pidl=%p)\n", shellview, pidl);
 
-	lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;	/*set the mask*/
-	lvItem.iItem = 0;
-	lvItem.iSubItem = 0;
-	lvItem.lParam = (LPARAM)pidl;
-	lvItem.pszText = LPSTR_TEXTCALLBACKW;			/*get text on a callback basis*/
-	lvItem.iImage = I_IMAGECALLBACK;			/*get the image on a callback basis*/
-        ListView_InsertItemW(This->hWndList, &lvItem);
+    item.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
+    item.iItem = 0;
+    item.iSubItem = 0;
+    item.lParam = (LPARAM)pidl;
+    item.pszText = LPSTR_TEXTCALLBACKW;
+    item.iImage = I_IMAGECALLBACK;
+    SendMessageW(shellview->hWndList, LVM_INSERTITEMW, 0, (LPARAM)&item);
+
+    for (i = 1; i < shellview->columns; i++)
+    {
+        item.mask = LVIF_TEXT;
+        item.iItem = 0;
+        item.iSubItem = 1;
+        item.pszText = LPSTR_TEXTCALLBACKW;
+        SendMessageW(shellview->hWndList, LVM_SETITEMW, 0, (LPARAM)&item);
+    }
 }
 
 /**********************************************************
-- 
2.11.0




More information about the wine-patches mailing list