树状结构 CTreeCtrl 的使用

3652阅读 0评论2011-07-04 guliangzeng
分类:WINDOWS


1. 添加控件
2.添加变量: CTreeCtrl m_treelist;
3. 设置格式:

m_treelist.ModifyStyle(NULL, WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES| TVS_DISABLEDRAGDROP,0);
4. 添加内容:

HTREEITEM hPA=m_treelist.InsertItem("温室大棚",TVI_ROOT,TVI_LAST);

m_treelist.InsertItem("温室一",hPA,TVI_SORT);
m_treelist.InsertItem("温室二",hPA,TVI_SORT);

HTREEITEM hWA=m_treelist.InsertItem("东大楼",TVI_ROOT,TVI_LAST);
m_treelist.InsertItem("一楼",hWA,TVI_SORT);
m_treelist.InsertItem("二楼",hWA,TVI_SORT);
5. 注意 树 会随着 对话框  的创建 而创建 ,不需调用 create 方法
6. 添加 响应函数:
void CDialogData::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
 LPNMTREEVIEW pNMTreeView = reinterpret_cast(pNMHDR);
 // TODO: Add your control notification handler code here
 *pResult = 0;
 HTREEITEM hItem = m_treelist.GetSelectedItem();
 
 // 展开子项的功能
 if ((hItem != NULL) && m_treelist.ItemHasChildren(hItem))
 {
  m_treelist.Expand(hItem, TVE_EXPAND);
  m_treelist.EnsureVisible(hItem);
 }
 else
 { //子项内容
  CString curtext=m_treelist.GetItemText(hItem);
 }
 
}
7.HTREEITEM  为树子项的 句柄
HTREEITEM hItem = m_treelist.GetSelectedItem();
更多用法 参考 MSDN 和
上一篇:如何使用 按键切换 子对话框
下一篇:listctrl 中添加按键