SetItemW
Aric Stewart
aric at codeweavers.com
Fri Feb 1 16:28:31 CST 2002
Here is an implementation of SetItemW for treeview.
-aric
-------------- next part --------------
Index: dlls/comctl32/treeview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/treeview.c,v
retrieving revision 1.96
diff -u -u -r1.96 treeview.c
--- dlls/comctl32/treeview.c 2002/02/01 19:54:10 1.96
+++ dlls/comctl32/treeview.c 2002/02/01 20:26:08
@@ -1988,6 +1988,40 @@
}
static LRESULT
+TREEVIEW_SetItemW(TREEVIEW_INFO *infoPtr, LPTVITEMEXW tvItem)
+{
+ TVITEMEXA tvItemA;
+ INT len;
+ LRESULT rc;
+
+ tvItemA.mask = tvItem->mask;
+ tvItemA.hItem = tvItem->hItem;
+ tvItemA.state = tvItem->state;
+ tvItemA.stateMask = tvItem->stateMask;
+ len = WideCharToMultiByte(CP_ACP, 0, tvItem->pszText, -1,
+ NULL ,0 , NULL,NULL);
+ if (len)
+ {
+ len ++;
+ tvItemA.pszText = HeapAlloc(GetProcessHeap(),0,len);
+ len = WideCharToMultiByte(CP_ACP, 0, tvItem->pszText, -1,
+ tvItemA.pszText ,len , NULL,NULL);
+ }
+ else
+ tvItemA.pszText = NULL;
+ tvItemA.cchTextMax = tvItem->cchTextMax;
+ tvItemA.iImage = tvItem->iImage;
+ tvItemA.iSelectedImage = tvItem->iSelectedImage;
+ tvItemA.cChildren = tvItem->cChildren;
+ tvItemA.lParam = tvItem->lParam;
+ tvItemA.iIntegral = tvItem->iIntegral;
+
+ rc = TREEVIEW_SetItemA(infoPtr,&tvItemA);
+ HeapFree(GetProcessHeap(),0,tvItemA.pszText);
+ return rc;
+}
+
+static LRESULT
TREEVIEW_GetItemState(TREEVIEW_INFO *infoPtr, HTREEITEM wineItem, UINT mask)
{
TRACE("\n");
@@ -5043,7 +5084,7 @@
return TREEVIEW_SetItemA(infoPtr, (LPTVITEMEXA)lParam);
case TVM_SETITEMW:
- FIXME("Unimplemented msg TVM_SETITEMW\n");
+ return TREEVIEW_SetItemW(infoPtr, (LPTVITEMEXW)lParam);
return 0;
case TVM_SETLINECOLOR:
More information about the wine-patches
mailing list