J'ai un CTreeCtrl et j'ai un bmp avec une icone. Je voudrait assimiler cette icone a un element de mon arbre.
Comment je defini mon element et comment je lui attache cette icone.
Merci
Version imprimable
J'ai un CTreeCtrl et j'ai un bmp avec une icone. Je voudrait assimiler cette icone a un element de mon arbre.
Comment je defini mon element et comment je lui attache cette icone.
Merci
salut
non testé, pas pris le temps de vraiment comprendre
http://www.codeguru.com/Cpp/controls...icle.php/c749/
http://www.codeguru.com/Cpp/controls...icle.php/c651/
Salut
Code:
1
2
3
4
5
6
7
8
9 m_NodeImageList.Create(16, 16, ILC_COLOR32, 2, 2); HICON hIcon = ::LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_NODE_ICON)); m_NodeImageList.Add(hIcon); hIcon = ::LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_SELNODE_ICON)); m_NodeImageList.Add(hIcon); m_NodeTreeView.SetImageList(&m_NodeImageList, TVSIL_NORMAL);
Soit 2 ID d'icônes IDI_NODE_ICON et IDI_SELNODE_ICONCode:
1
2
3
4
5
6
7
8 class CMyDlg: public CDialog { //... CImageList m_NodeImageList; //... CTreeCtrl m_NodeTreeView; //... }
Gabrielly :D
Voici un code d'insertion d'un noeud
Gabrielly :DCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 TVINSERTSTRUCT tvInsert; HTREEITEM hRoot; TVITEM tvItem; tvItem.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE; CString strNode; strNode.Format("Noeud %d", 1); tvItem.cchTextMax = strNode.GetLength(); tvItem.pszText = (LPSTR)(LPCTST) strNode; tvItem.iImage = 0; tvItem.iSelectedImage = 1; tvInsert.hParent = TVI_ROOT; tvInsert.hInsertAfter = TVI_LAST; tvInsert.item = tvItem; hRoot = m_NodeTreeView.InsertItem(&tvInsert);