Implemented TREEVIEW_InsertItemW.
This commit is contained in:
parent
b0dd717da2
commit
56c36e3dc7
|
@ -1870,7 +1870,55 @@ TREEVIEW_InsertItemA (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
return (LRESULT) iItem;
|
||||
}
|
||||
static LRESULT
|
||||
TREEVIEW_InsertItemW(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
TVINSERTSTRUCTW *tvisW;
|
||||
TVINSERTSTRUCTA tvisA;
|
||||
LRESULT lRes;
|
||||
|
||||
tvisW = (LPTVINSERTSTRUCTW)lParam;
|
||||
|
||||
tvisA.hParent = tvisW->hParent;
|
||||
tvisA.hInsertAfter = tvisW->hInsertAfter;
|
||||
|
||||
tvisA.DUMMYUNIONNAME.item.mask = tvisW->DUMMYUNIONNAME.item.mask;
|
||||
tvisA.DUMMYUNIONNAME.item.hItem = tvisW->DUMMYUNIONNAME.item.hItem;
|
||||
tvisA.DUMMYUNIONNAME.item.state = tvisW->DUMMYUNIONNAME.item.state;
|
||||
tvisA.DUMMYUNIONNAME.item.stateMask = tvisW->DUMMYUNIONNAME.item.stateMask;
|
||||
tvisA.DUMMYUNIONNAME.item.cchTextMax = tvisW->DUMMYUNIONNAME.item.cchTextMax;
|
||||
|
||||
if(tvisW->DUMMYUNIONNAME.item.pszText)
|
||||
{
|
||||
if (tvisW->DUMMYUNIONNAME.item.pszText!=LPSTR_TEXTCALLBACKW)
|
||||
{
|
||||
int len = lstrlenW (tvisW->DUMMYUNIONNAME.item.pszText)+1;
|
||||
tvisA.DUMMYUNIONNAME.item.pszText = COMCTL32_Alloc (len);
|
||||
lstrcpyWtoA (tvisA.DUMMYUNIONNAME.item.pszText,
|
||||
tvisW->DUMMYUNIONNAME.item.pszText );
|
||||
}
|
||||
else
|
||||
{
|
||||
tvisA.DUMMYUNIONNAME.item.pszText = LPSTR_TEXTCALLBACKA;
|
||||
tvisA.DUMMYUNIONNAME.item.cchTextMax = 0;
|
||||
}
|
||||
}
|
||||
|
||||
tvisA.DUMMYUNIONNAME.item.iImage = tvisW->DUMMYUNIONNAME.item.iImage;
|
||||
tvisA.DUMMYUNIONNAME.item.iSelectedImage = tvisW->DUMMYUNIONNAME.item.iSelectedImage;
|
||||
tvisA.DUMMYUNIONNAME.item.cChildren = tvisW->DUMMYUNIONNAME.item.cChildren;
|
||||
tvisA.DUMMYUNIONNAME.item.lParam = tvisW->DUMMYUNIONNAME.item.lParam;
|
||||
|
||||
lRes = TREEVIEW_InsertItemA(hwnd,wParam,(LPARAM)&tvisA);
|
||||
|
||||
if (tvisA.DUMMYUNIONNAME.item.pszText!=LPSTR_TEXTCALLBACKA)
|
||||
{
|
||||
COMCTL32_Free(tvisA.DUMMYUNIONNAME.item.pszText);
|
||||
}
|
||||
|
||||
return lRes;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -3458,8 +3506,7 @@ TREEVIEW_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
return TREEVIEW_InsertItemA (hwnd, wParam, lParam);
|
||||
|
||||
case TVM_INSERTITEMW:
|
||||
FIXME("Unimplemented msg TVM_INSERTITEM32W\n");
|
||||
return 0;
|
||||
return TREEVIEW_InsertItemW(hwnd,wParam,lParam);;
|
||||
|
||||
case TVM_DELETEITEM:
|
||||
return TREEVIEW_DeleteItem (hwnd, wParam, lParam);
|
||||
|
@ -3716,3 +3763,5 @@ TREEVIEW_Unregister (void)
|
|||
UnregisterClassA (WC_TREEVIEWA, (HINSTANCE)NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -150,7 +150,7 @@ static void FillTreeView(IShellFolder * lpsf, LPITEMIDLIST pidl, HTREEITEM hPar
|
|||
tvins.hInsertAfter = hPrev;
|
||||
tvins.hParent = hParent;
|
||||
|
||||
hPrev = (HTREEITEM)TreeView_InsertItemA (hwndTreeView, &tvins);
|
||||
hPrev = (HTREEITEM)TreeView_InsertItemW (hwndTreeView, &tvins);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1994,13 +1994,12 @@ typedef struct tagNMTVGETINFOTIPW
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define TreeView_InsertItemA(hwnd, phdi) \
|
||||
(INT)SendMessageA((hwnd), TVM_INSERTITEMA, 0, \
|
||||
(LPARAM)(LPTVINSERTSTRUCTA)(phdi))
|
||||
#define TreeView_InsertItemW(hwnd,phdi) \
|
||||
(INT)SendMessageW((hwnd), TVM_INSERTITEMW, 0, \
|
||||
(LPARAM)(LPTVINSERTSTRUCTW)(phdi))
|
||||
#define TreeView_DeleteItem(hwnd, hItem) \
|
||||
(BOOL)SendMessageA((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hItem))
|
||||
#define TreeView_DeleteAllItems(hwnd) \
|
||||
|
|
Loading…
Reference in New Issue