LiFan
2024-07-05 9e409d6e1e2cb1d35cf26f3fd2bd9048c624280f
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 
{
@@ -349,6 +352,11 @@
        return 1;         
    }
    HTREEITEM InsertChildItem(HTREEITEM hItem, string label, KXMLDOMElement ele, int image = 0)
    {
        return InsertChildItem(hItem, label, ele.ptr(), image);
    }
    HTREEITEM InsertChildItem(HTREEITEM hItem,string label,LPARAM data,int image = 0)
    {
            HTREEITEM h;
@@ -375,6 +383,11 @@
            SendMessage(GetHWND(), TVM_SETITEM, 0,(LPARAM)&tvi);
            return h;
    }
    HTREEITEM InsertChildItemEx(HTREEITEM hItem, string label, KXMLDOMElement ele, int image = 0, int image2 = 0)
    {
        return InsertChildItemEx(hItem, label, ele.ptr(), image,image2);
    }
    HTREEITEM InsertChildItemEx(HTREEITEM hItem,string label,int data,int image = 0,int image2 = 0)
@@ -510,13 +523,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_);
    }
};