[問題提出]
請問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;
}