mfc中,怎样使tree control中父结点有图标而子结点没有或不同结点显示不同图标?

来源:百度知道 编辑:UC知道 时间:2024/06/30 00:31:07
如何让不同的结点显示不同大小的图标?

在MFC中应用CTreeCtrl控件的技巧
责任编辑:ncic 更新日期:2007-4-2
本文示例源代码下载
首先,我们要创建一个基本对话框的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); <