[问题提出]
请问treeview控件和treectrl控件的用法有何不同呢?向如何imagelist控件中加图象呀?
[解决方法]
1)
hicon
hicon[8];
m_imagelist.create(16,16,0,8,8);
hicon[0]=afxgetapp()->loadicon(idi_icon0);
hicon[1]=afxgetapp()->loadicon(idi_icon1);
hicon[2]=afxgetapp()->loadicon(idi_icon2);
hicon[3]=afxgetapp()->loadicon(idi_icon3);
hicon[4]=afxgetapp()->loadicon(idi_icon4);
hicon[5]=afxgetapp()->loadicon(idi_icon5);
hicon[6]=afxgetapp()->loadicon(idi_icon6);
hicon[7]=afxgetapp()->loadicon(idi_icon7);
for(int
n=0;n<8;n++)
m_imagelist.add(hicon[n]);
ctreectrl
*ptree=(ctreectrl
*)getdlgitem(idc_tree);
ptree->setimagelist(&m_imagelist,tvsil_normal);
2)
cimagelist
cil1;
cil1.create(32,32,true,2,2);
cil1.add(papp->loadicon(idi_dao1));
cil1.add(papp->loadicon(idi_dao2));
cil1.add(papp->loadicon(idi_dao3));
cil1.add(papp->loadicon(idi_dao4));
cil1.add(papp->loadicon(idi_dao5));
cil1.add(papp->loadicon(idi_dao6));
cil1.add(papp->loadicon(idi_dao7));
cil1.add(papp->loadicon(idi_dao8));
cil1.add(papp->loadicon(idi_dao9));
//设置图象列表
m_list.setimagelist(&cil1,lvsil_normal);
在向ctreectrl中加入一项后,有什么方法可以编辑该节点的文本呢?
首先设置你的ccomptreectrl具有tvs_editlabels属性.在设计时用控件属性来设置在运行时用getstyle()/setstyle()成员函数来设置.然后请看下述代码:
htreeitem ccomptreectrl::addset()
{
static int setcnt =3d
1;
htreeitem hitem;
cstring csset;
//create text for new note: new set 1, new set 2 ...
csset.format( _t(
"new set %d" ), setcnt++ );
hitem =3d insertitem( csset, img_closedfolder, img_closedfolder );
if( hitem !=3d null
)
editlabel(
hitem );
return hitem;
}