xj qian
2024-09-04 ca7bfcdac21b765d29d0045308d434dfd038b10c
jrj/xframe/xcontrol/xtreeview.hpp
@@ -49,6 +49,7 @@
 #define TV_FIRST 0x1100 
#ifdef XWIN
struct SCROLLINFO 
{
    int cbSize;
@@ -59,6 +60,8 @@
    int  nPos;
    int  nTrackPos;
};
#endif
struct tvitem 
{
@@ -123,7 +126,7 @@
            return (HTREEITEM)SendMessage(GetHWND(), TVM_GETNEXTITEM, TVGN_CARET,0);             
    }
    
    string GetItemLabel(HTREEITEM hItem)
    xstring GetItemLabel(HTREEITEM hItem)
    {
             int TVM_GETITEM = TV_FIRST + 62;
        
@@ -169,6 +172,11 @@
            return  tvi.lParam;
    }
    
    int SetItemData(HTREEITEM hItem, KXMLDOMElement value)
    {
        return  SetItemData(hItem, (LPARAM)value.ptr());
    }
    int SetItemData(HTREEITEM hItem,LPARAM value)
    {
            int TVM_SETITEM = TV_FIRST + 63;
@@ -387,7 +395,7 @@
        return InsertChildItemEx(hItem, label, ele.ptr(), image,image2);
    }
    HTREEITEM InsertChildItemEx(HTREEITEM hItem,string label,int data,int image = 0,int image2 = 0)
    HTREEITEM InsertChildItemEx(HTREEITEM hItem,string label,LPARAM data,int image = 0,int image2 = 0)
    {
        int TVM_INSERTITEM = TV_FIRST + 50;
        
@@ -520,13 +528,13 @@
    void SetLineAtRoot(bool value)
    {
        int GWL_STYLE = -16;
        int TVS_LINESATROOT = 0x0004;
        int style = GetWindowLong(GetHWND(), GWL_STYLE);
        int GWL_STYLE_ = -16;
        int TVS_LINESATROOT_ = 0x0004;
        int style = GetWindowLong(GetHWND(), GWL_STYLE_);
        if (value)
            SetWindowLong(GetHWND(), GWL_STYLE, style | TVS_LINESATROOT);
            SetWindowLong(GetHWND(), GWL_STYLE_, style | TVS_LINESATROOT_);
        else
            SetWindowLong(GetHWND(), GWL_STYLE, style & ~TVS_LINESATROOT);
            SetWindowLong(GetHWND(), GWL_STYLE_, style & ~TVS_LINESATROOT_);
    }
};