在MFC中应用CTreeCtrl控件的技巧(对话框重叠)

本文介绍了如何在MFC工程中使用CTreeCtrl控件,创建两个嵌套的Child风格对话框,并通过节点选择切换显示。详细步骤包括对话框和控件的创建、图像列表的设置、消息响应函数的添加,实现了根据树形控件节点选择动态显示不同对话框的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,我们要创建一个基本对话框的MFC工程MFC_TreeCRTL(名字随便给一个)。然后在资源视图中插入两个Dialog,ID分别为IDD_DIALOG11和IDD_DIALOG211,都更改Style属性为Child,Border属性为None,为它们建立两个类,分别命名为Cdialog11和Cdialog211,并在MFC_TreeCRTLDlg.CPP文件中包含dialog11.h和dialog211.h两个头文件。再导入几个资源图标作为树形控件节点的图标及装饰面板。最后在主面板上添加一个CTreeCtrl控件,ID为默认,并在ClassWizard中添加它的一个变量,命名为m_mytree。   接着,我们进行具体代码编写。  我们必须在CMFC_TreeCRTLDlg类中加入这些变量和函数 CDialog * m_treePages[2];CString node_name;BOOL InitMytree();  我们还要在CMFC_TreeCRTLDlg类的构造函数中为m_treePages[2]分配空间, m_treePages[0]=new Cdialog11;m_treePages[1]=new Cdialog211;InitMytree()函数为m_mytree的初始化过程 BOOL CMFC_TreeCRTLDlg::InitMytree(){ //节点的图标  int i=0; int i_count=2; //载入图标 HICON icon[4]; icon[0]=AfxGetApp()->LoadIcon (IDI_ICON6);  icon[1]=AfxGetApp()->LoadIcon (IDI_ICON7); //创建图像列表控件 CImageList *m_imagelist=new CImageList;  m_imagelist->Create(16,16,0,7,7);  m_imagelist->SetBkColor (RGB(255,255,255)); for(int n=0;n {  m_imagelist->Add(icon[n]); //把图标载入图像列表控件 } m_mytree.SetImageList(m_imagelist,TVSIL_NORMAL); //为m_m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值