Tree control控件的使用
1、创建Tree control到对话框中
2、设置属性 Has Buttons为true 和Has Lines为true 这样的话显示的比较好看
3、在OnInitDialog函数中初始化控件
//声明指向节点的句柄
HTREEITEM hItem, hSubItem;
HTREEITEM hNewRoot;
//添加根结点
hItem = m_MyTree.InsertItem(_T("文件名"), TVI_ROOT);
//在根结点上添加3个子结点
hSubItem = m_MyTree.InsertItem(_T("dos头"), hItem);
hNewRoot= m_MyTree.InsertItem(_T("Nt头"), hItem);
hSubItem = m_MyTree.InsertItem(_T("节头部"), hItem);
// 在 hNewRoot上添加2个子结点
hSubItem = m_MyTree.InsertItem(_T("文件头部"), hNewRoot);
hSubItem = m_MyTree.InsertItem(_T("可选头部"), hNewRoot);
//在hSubItem 上添加1个子结点
hSubItem = m_MyTree.InsertItem(_T("数据目录"), hSubItem);
4、右键添加事件处理程序,响应鼠标右键双击消息,响应处理如下打印一下节点信息
void CMFCTestContorDlg::OnNMRClickTest(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
HTREEITEM hItem = m_MyTree.GetSelectedItem();//获取选中的节点
int nNum = m_MyTree.GetItemData(hItem); //获取选中的节点序号
CString cstNum;
cstNum.Format("%d", nNum);
MessageBox(cstNum);
CString text = m_MyTree.GetItemText(hItem); //获取节点名字
CString cstName;
cstName.Format("%s", text);
MessageBox(cstName);
*pResult = 0;
}