Nikolay Sivov : shell32/shellview: Set subitem callbacks for every column.
Module: wine Branch: master Commit: 2cce196210b82a94046389fe7f90d25da7d908d7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2cce196210b82a94046389fe7f... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Wed Jan 25 22:51:31 2017 +0300 shell32/shellview: Set subitem callbacks for every column. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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 c15a32d..92eda55 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); + } } /**********************************************************
participants (1)
-
Alexandre Julliard