С++ Microsoft MFC TreeView图标

时间:2019-03-24 08:04:59

标签: c++ visual-c++ mfc treeview icons

我已经通过博客文章编写了TreeView控件的代码。我正在尝试将图标添加到列表项。但是没有渲染图标。 我有下一个代码:

imagecopy();

图标已添加到资源文件中。我有一个错误吗?我有一个带有下一个文本的消息框:“ resource1”,“ resource2”。

1 个答案:

答案 0 :(得分:3)

m_tree_imglist在堆栈中声明,该图像列表在OnInitialUpdate退出后被销毁,因此CTreeCtrl不再具有图像列表。

应该将图像列表声明为类成员,以便在CTreeCtrl需要时它仍然有效。请注意,m_前缀通常在MFC中用于表示“类成员”。

class CLeftView : public CTreeView
{
    CImageList m_tree_imglist;
    ...
};

void CLeftView::OnInitialUpdate()
{
    ...
    //CImageList m_tree_imglist; <- remove
    tc.SetImageList(&m_tree_imglist, TVSIL_NORMAL);
}