ATL树形空间无法显示图标

netreptile 2008-11-28 05:44:36
ATL开发复合控件,部分代码如下:
public:
HIMAGELIST m_Image;
HTREEITEM InsertTree(HWND hWnd, HTREEITEM hParent, LPSTR pszText)
{
TV_INSERTSTRUCT tvis;
memset (&tvis, 0, sizeof (tvis));
tvis.hParent = hParent;
tvis.hInsertAfter = TVI_LAST;
tvis.item.mask = TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
tvis.item.pszText = pszText;
tvis.item.iImage = 2;
tvis.item.iSelectedImage = 3;
return TreeView_InsertItem(hWnd, &tvis);
}
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
HWND h = ::GetDlgItem(m_hWnd,IDC_LEFT_TREE);
HINSTANCE hInstance = _Module.m_hInstResource;
HBITMAP hImage = ::LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_REPORTCTRL));
m_Image = ImageList_Create(16, 15, ILC_MASK, 9, 1);
ImageList_Add(m_Image, hImage, NULL);
DeleteObject(hImage);
TreeView_SetImageList (h,&m_Image, TVSIL_NORMAL);
HTREEITEM root = InsertTree(h,NULL,"1");
HTREEITEM branch = InsertTree(h,root,"2");
}
//IDB_REPORTCTRL里面有9张BITMAP图片
本人的问题是在容器中测试.树形控件显示正常,但是就是无法显示图标.
...全文
69 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2008-12-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 szjx520 的回复:]
TreeView_SetImageList (h,&m_Image, TVSIL_NORMAL);
改成TreeView_SetImageList (h,m_Image, TVSIL_NORMAL);

[/Quote]

应当改成TreeView_SetImageList (h, m_Image.GetSafeHandle(), TVSIL_NORMAL);
szjx520 2008-11-29
  • 打赏
  • 举报
回复
TreeView_SetImageList (h,&m_Image, TVSIL_NORMAL);
改成TreeView_SetImageList (h,m_Image, TVSIL_NORMAL);

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧