CTreeCtrl* pTree = (CTreeCtrl*)GetDlgItem(IDC_TREE1);
// 設置圖片列表
HICON hIcon[3];
hIcon[0] = theApp.LoadIcon(IDI_ICON_GREEN_GREEN);
hIcon[1] = theApp.LoadIcon(IDI_ICON_GREEN_GREY);
hIcon[2] = theApp.LoadIcon(IDI_ICON_RED_GREEN);
m_imageList.Create(16, 16, ILC_COLOR32, 3, 3);
for(int i=0; i<3; i++)
m_imageList.Add(hIcon[i]);
m_cTree.SetImageList(&m_imageList, TVSIL_NORMAL);//添加圖標到treectrl
//pTree->SetImageList(&m_imageList, TVSIL_NORMAL);
// 創建待插入的TV_INSERTSTRUCT結構
TV_INSERTSTRUCT tvinsert;
tvinsert.hParent = NULL; // 無父結點
tvinsert.hInsertAfter = TVI_LAST; // 插入到本層最后
tvinsert.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT;
// 掩碼包括 圖標 選中圖標 文字
tvinsert.item.hItem = NULL; // 句柄為空
tvinsert.item.state = 0; // 狀態
tvinsert.item.stateMask = 0; // 狀態掩碼,不使用這兩項
tvinsert.item.cchTextMax = 6; // 最大文字長度,忽略
tvinsert.item.iSelectedImage = 1; // 選中圖標索引
tvinsert.item.cChildren = 0; // 沒有子節點
tvinsert.item.lParam = 0; // 自定義數據
// 第一層
//tvinsert.item.iImage = 2;
// 插入第一層第一個節點"father"
tvinsert.item.pszText = L"father";
HTREEITEM hDad = pTree->InsertItem(&tvinsert);
// 插入第一層第二個節點"mother"
tvinsert.item.pszText = L"mother";
HTREEITEM hMom = pTree->InsertItem(&tvinsert);
// 創建第二層
tvinsert.hParent = hDad; // 父節點為"father"
//tvinsert.item.iImage = 3;
// 插入第二層"father"的第一個節點"son"
tvinsert.item.pszText = L"son";
pTree->InsertItem(&tvinsert);
// 插入第二層"father"的第二個節點"daughter"
tvinsert.item.pszText = L"daughter";
pTree->InsertItem(&tvinsert);
// 還是創建第二層
tvinsert.hParent = hMom; // 父結點為"mother"
//tvinsert.item.iImage = 4;
// 插入第二層"mother"的第一個節點"son"
tvinsert.item.pszText = L"son";
pTree->InsertItem(&tvinsert);
// 插入第二層"mother"的第二個節點"daughter"
tvinsert.item.pszText = L"daughter";
pTree->InsertItem(&tvinsert);
// 插入第二層"mother"的第三個節點"cartoon"
tvinsert.item.pszText = L"cartoon";
HTREEITEM hOther = pTree->InsertItem(&tvinsert);
// 創建第三層
tvinsert.hParent = hOther; // 父結點為"cartoon"
//tvinsert.item.iImage = 7;
// 插入第三層"cartoon"的第一個節點"Tom"
tvinsert.item.pszText = L"Tom";
pTree->InsertItem(&tvinsert);
// 插入第三層"cartoon"的第二個節點"Jerry"
tvinsert.item.pszText = L"Jerry";
pTree->InsertItem(&tvinsert);