CTreeCtrl。添加三态选择图片和节点前图标的方法

    //
    // 初始化图像列表
    m_cImageList.Create(IDB_BITMAP1, AUTOTREE_UINT_THIRTEEN, AUTOTREE_UINT_ONE, ILC_COLOR4);
    m_cTreeCtrl.SetImageList(&m_cImageList, TVSIL_STATE);

    改变选择状态
    TVINSERTSTRUCT tvInsert;
    tvInsert.hParent = NULL;
    tvInsert.hInsertAfter = NULL;
    tvInsert.item.mask = TVIF_TEXT;
    tvInsert.item.iImage = 1; //设置未选中图像索引号  1是未选状态  2 就是半选状态
    tvInsert.item.iSelectedImage = 3;//设置选中时图像引号 3是选择状态
    tvInsert.item.pszText = m_vecData.empty() ? AUTOTREE_ROOTNODE_ERRSTR : AUTOTREE_ROOTNODE_STRING;
    HTREEITEM hRoot = m_cTreeCtrl.InsertItem(&tvInsert);

    这个做到这就完了, 其他的插入节点会自动绘制

 

    //
    // 初始化节点图标列表
    m_cIIconList.Create(16, 16, ILC_COLOR32 | ILC_MASK, 7, 7);//16*16的图标
    HICON icon[2];
    icon[0] = AfxGetApp()->LoadIcon(IDI_ICON4);
    m_cIIconList.Add(icon[0]);
    icon[1] = AfxGetApp()->LoadIcon(IDI_ICON3);
    m_cIIconList.Add(icon[1]);
    m_cTreeCtrl.SetImageList(&m_cIIconList, TVSIL_NORMAL);

    改变节点图标   
    m_cTreeCtrl.InsertItem(xxxx.c_str(), 0, 0, hRoot);  // 这里的0,0 就是选择IDI_ICON4图片  //如果填1,1就是选择IDI_ICON3

 

 

m_cIIconList和m_cImageList 全是CImageList 

 

好了,以上, 网上都说的嘛玩意,  这些够了


版权声明:本文为gaoyuekang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。