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;
    }
  • 相关阅读:
    2020-03-1811:29:37springboot与任务
    2020-03-17 20:18:50springboot整合rabbitmq
    2020.03.17 springboot缓存相关
    前端JS面试
    npm 常用指令
    ES8新特性
    ES7新特性
    ES6新特性
    SpringBoot
    SpringBoot
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7881663.html
Copyright © 2011-2022 走看看