zoukankan      html  css  js  c++  java
  • 树形控件(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;
    }
  • 相关阅读:
    java连接远程linux的redis
    Mac下Sublime Text 3安装配置
    矩阵覆盖
    Mac下配置Tomcat
    用 O(1) 时间检测整数 n 是否是 2 的幂次。
    快速编程之禅
    如何在centos 7.4 上安装 python 3.6
    大众点评实时监控系统CAT的那些坑
    如何在 centos 7.3 上安装 caffe 深度学习工具
    为什么中文编程项目失败率特别高?
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7881663.html
Copyright © 2011-2022 走看看