怎么在VC的文档结构的树形控件上面加一个√或者X的标识 类似于下面的图
2个回答
展开全部
你要为CTreeView指定一个图像列表(ImageList),比如你在资源创建一张16x32的位图,第一个16x16画一个勾,第二个16x16画一个叉,然后为View类增加变量,比如CImageList m_ImageList。然后用CImageList::Create根据位图创建列表,最后为CTreeView指定调用这个图像列表:
// 以下代码写在View类的OnCreate最后
VERIFY(m_ImageList.Create(IDB_BITMAP1, 16, 2, ILC_COLOR32|ILC_MASK, RGB(255, 255, 255)));
// 上面一句从IDB_BITMAP1资源创建图像列表,每个图标16x16的宽度,32位色,白色为透明色
GetTreeCtrl().SetImageList(&m_ImageList, TVSIL_NORMAL);
这次你将一个图像列表添加到了列表控件上。
现在你在插入一个新的条目的时候,需要调用CTreeCtrl::InsertItem的下面这个重载:
HTREEITEM InsertItem(
LPCTSTR lpszItem,
int nImage, // 这里指定条目未被选中的时候的图标
int nSelectedImage, // 这里指定条目被选中的时候的图标
HTREEITEM hParent = TVI_ROOT,
HTREEITEM hInsertAfter = TVI_LAST
);
注意图标号码从0开始!
// 以下代码写在View类的OnCreate最后
VERIFY(m_ImageList.Create(IDB_BITMAP1, 16, 2, ILC_COLOR32|ILC_MASK, RGB(255, 255, 255)));
// 上面一句从IDB_BITMAP1资源创建图像列表,每个图标16x16的宽度,32位色,白色为透明色
GetTreeCtrl().SetImageList(&m_ImageList, TVSIL_NORMAL);
这次你将一个图像列表添加到了列表控件上。
现在你在插入一个新的条目的时候,需要调用CTreeCtrl::InsertItem的下面这个重载:
HTREEITEM InsertItem(
LPCTSTR lpszItem,
int nImage, // 这里指定条目未被选中的时候的图标
int nSelectedImage, // 这里指定条目被选中的时候的图标
HTREEITEM hParent = TVI_ROOT,
HTREEITEM hInsertAfter = TVI_LAST
);
注意图标号码从0开始!
参考资料: http://msdn.microsoft.com/de-de/library/ettyybhw(v=VS.80).aspx
2011-08-22
展开全部
这个是调用不同的图标
追问
怎么样调用不同的图标,有判断依据吗?用什么做判断依据?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询