• 树形控件(CTreeCtrl和CTreeView)


    插入数据项

    通过InsertItem()方法,有四种重载样式:

    HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);
    HTREEITEM InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage,int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam,HTREEITEM hParent, HTREEITEM hInsertAfter);
    HTREEITEM InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT,HTREEITEM hInsertAfter = TVI_LAST);
    HTREEITEM InsertItem(LPCTSTR lpszItem, int nImage, int nSelectedImage,HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);

    索引

    lpInsertStruct TVINSERTSTRUCT结构指针,TVINSERTSTRUCT结构中包含了插入操作的详细信息
    nMask 节点的哪些信息被设置
    lpszItem 节点的文本
    nImage 节点的图像索引
    nSelectedImage 节点选中时的图像索引
    nState 节点的哪些状态被设置
    lParam 指定关联节点的附加信息
    hParent 父节点句柄
    hInsertAfter 新插入节点后面的节点句柄

    示例:

        CString userTreeHeader[3]={"医生","售药员","管理员"};
    
        HTREEITEM userItem[3];
        for(int i=0;i<3;i++)
        {
            userItem[i]=m_theTreeCtrl->InsertItem(userTreeHeader[i],0,0,TVI_ROOT,TVI_LAST);
            m_theTreeCtrl->SetItemData(userItem[i],(DWORD)i);
        }

    如何添加鼠标右击事件?

    控件中添加NM_RCLICK事件。
    示例:

    void CMyDlg::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult)
    {
    CPoint cp; GetCursorPos(
    &cp); m_Tree.ScreenToClient(&cp); HTREEITEM titem = m_Tree.HitTest(cp, NULL); // 以上很关键,保证右键点击的位置是树叶或树枝 if(titem) { AfxMessageBox(m_Tree.GetItemText(titem)); }
    *pResult=0;
    }
  • 相关阅读:
    Win7下VS2010、IIS7配置常见问题收集
    ASP.NET 4.0尚未在 Web 服务器上注册 解决方法
    jQuery
    玩转OpenStack
    ubuntu14.04开启root用户 设置root密码 配置国内镜像源 设置分辨率
    JavaScripts基础
    css
    微信小程序Nginx环境配置
    html语言
    Python并发编程-redis-3.0.5 源码安装
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7881663.html
Copyright © 2020-2023  润新知