我的代码下:
TreeCtrl上添加一个响应消息,TVN_ITEMEXPANDED的消息。 添加后的函数中系统自动添加这样一个语句: 
NM_TREEVIEW*   pNMTreeView   =   (NM_TREEVIEW*)pNMHDR; 当展开或者收起时会激发这个函数,其中结构指针pNMTreeView的action参数,就记录了是打开还是关闭,即 
if(pNMTreeView-> action   ==   1) 
        //设置收起的图标; 
else   if(pNMTreeView-> action   ==   2) 
        //设置展开后的图标; 
 
我的问题是,if和else中,怎样分别设置收起的图标和展开后的图标

解决方案 »

  1.   

    百度上搜一下CTreeCtrlBT这个类,里面提供插图片的接口
      

  2.   

    在插入结点的时候使用
    HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);
    第一个参数为结点项目名称字符串,用CString就行
    第二个为默认结点图标
    第三个为选中时结点图标
    第四个为父节点句柄
    第五个不用填
    所以你要使用图标的话得先用CImageList生成一个图像列表对象
    CBitmap bmp;
    bmp.LoadBitmap(uiBmpId);//这个就是你在资源编辑器里添加进去的位图ID
    BITMAP bmpObj;
    bmp.GetBitmap(&bmpObj);
    m_Images.Create(16, bmpObj.bmHeight, ILC_MASK, 0, 0);//创建图像列表
    m_Images.Add(&bmp, RGB(255, 0, 0));
    m_TreeCtrl.SetImageList(&m_Images, TVSIL_NORMAL);
    这样就实现了图像列表与树控件的绑定
      

  3.   

    dcmilan,我想问的是怎样树展开的时候是一个图标,闭合的时候是另一种图标,插入图标的方法已经解决了