VC中树形控件(CTreeCtrl)的使用(三)

2014-11-23 21:25:16 · 作者: · 浏览: 237
在消息响应函数中写入代码。

void CMFC_TreeCRTLDlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)

{

 NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

 // TODO: Add your control notification handler code here

 UpdateData(true);

 node_name=m_mytree.GetItemText(pNMTreeView->itemNew.hItem);

 //在标题栏显示节点信息

 SetWindowText(node_name);

 //切换面板

 if(node_name=="Dialog 1-1"){

  m_treePages[0]->ShowWindow(SW_SHOW);

  m_treePages[1]->ShowWindow(SW_HIDE);

 }

 else if(node_name=="Dialog 2-1-1"){

  m_treePages[0]->ShowWindow(SW_HIDE);

  m_treePages[1]->ShowWindow(SW_SHOW);

 }

 UpdateData(false);

 *pResult = 0;

}  最后,我们在 CMFC_TreeCRTLDlg::OnInitDialog()初始化函数里调用InitMytree()函数。程序运行效果:

\

到这里为止,我们就把一个Dialog粘贴到了主Dialog上了,通过CTreeCtrl控件的节点的变化,让不同的Dialog交替地粘贴在主Dialog上,从而方便于我们只用少数的窗口,调用更多的功能模块,不必再为每个模块都作为弹出窗口,而显得繁杂

摘自:goodmhjmhj的专栏