(学习黑客防线远程控制编程),在VC6.0列表控件里展示文件图标及名称,然而CImageList:Add函数调用出错,不能显示图标

(学习黑客防线远程控制编程),在VC6.0列表控件里显示文件图标及名称,然而CImageList::Add函数调用出错,不能显示图标
本帖最后由 VisualEleven 于 2015-04-13 18:26:52 编辑
CMy1Dlg::GetDirInfoProc(BYTE* DATE)
{
FILEINFO* fi = (FILEINFO*)DATE;
if( fi->IsDir)
{
m_tree.InsertItem(fi->FileName,3,3,SelectNode,0);
m_tree.Expand(SelectNode,TVE_EXPAND);
}
else
{
SHFILEINFO info;
memset((char*)&info,0,sizeof(info));
SHGetFileInfo(fi->FileName,0,&info,sizeof(info),SHGFI_ICON | SHGFI_USEFILEATTRIBUTES);

   int i;
if( i = m_ImageList.Add(info.hIcon) == -1)
{
MessageBox("调用ADD失败");
}
m_list.InsertItem(i,fi->FileName,i);

}
}

运行程序弹出消息框显示“调用ADD失败”
------解决思路----------------------
先 CImageList::Create 

------解决思路----------------------

// create, initialize, and hook up image list
m_pImageList = new CImageList();
ASSERT(m_pImageList != NULL);    // serious allocation failure checking
m_pImageList->Create(32, 32, TRUE,   4, 4);
m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST1));
m_pImageList->Add(pApp->LoadIcon(IDI_ICONLIST2));
m_listctrl.SetImageList(m_pImageList, LVSIL_NORMAL);