添加控件,树形控件,静态文本框和编辑框。树形控件属性Has Buttons,Has Lines, Lines At Root 勾选为True.
并为树形控件添加变量,m_webTree
在初始化函数中添加代码:
// TODO: 在此添加额外的初始化代码
// 定义树形控件句柄
HTREEITEM hRoot;
HTREEITEM hSon;
HTREEITEM hGrandson;
// 添加根节点
hRoot = m_webTree.InsertItem(L"生活用品", 0, 0);
// 二级结点
hSon = m_webTree.InsertItem(L"衣服", 1, 1, hRoot, TVI_LAST);
// 三级结点
hGrandson = m_webTree.InsertItem(L"男装", 2, 2, hSon, TVI_LAST);
hGrandson = m_webTree.InsertItem(L"女装", 2, 2, hSon, TVI_LAST);
hGrandson = m_webTree.InsertItem(L"童装", 2, 2, hSon, TVI_LAST);
// 二级结点
hSon = m_webTree.InsertItem(L"食品", 1, 1, hRoot, TVI_LAST);
// 三级结点
hGrandson = m_webTree.InsertItem(L"休闲零食", 2, 2, hSon, TVI_LAST);
hGrandson = m_webTree.InsertItem(L"时鲜果蔬", 2, 2, hSon, TVI_LAST);
hGrandson = m_webTree.InsertItem(L"美酒佳酿", 2, 2, hSon, TVI_LAST);
hGrandson = m_webTree.InsertItem(L"滋补养生", 2, 2, hSon, TVI_LAST);
// 二级结点
hSon = m_webTree.InsertItem(L"家电", 1, 1, hRoot, TVI_LAST);
// 三级结点
hGrandson = m_webTree.InsertItem(L"厨具", 2, 2, hSon, TVI_LAST);
// 四级
m_webTree.InsertItem(L"电饭煲", 3, 3, hGrandson, TVI_LAST);
m_webTree.InsertItem(L"电磁炉", 3, 3, hGrandson, TVI_LAST);
m_webTree.InsertItem(L"热水壶", 3, 3, hGrandson, TVI_LAST);
// 三级
hGrandson = m_webTree.InsertItem(L"彩电", 2, 2, hSon, TVI_LAST);
hGrandson = m_webTree.InsertItem(L"空调", 2, 2, hSon, TVI_LAST);
hGrandson = m_webTree.InsertItem(L"洗衣机", 2, 2, hSon, TVI_LAST);
此时,运行后树形控件里就有东西了。
下一步是在编辑框中显示选择的项目
双击树形控件来编程:
void CTreeDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
CString strText;
HTREEITEM hTree;
hTree = m_webTree.GetSelectedItem(); // 获取树形控件句柄
strText = m_webTree.GetItemText(hTree); // 获取选择的项目
SetDlgItemText(IDC_EDIT1, strText); // 在编辑框设置选择的项目
}
此时,运行后,编辑框中就能显示选择的项目了。
下一部是添加图标.
首先添加资源,添加32x32的.ioc位图资源
在dlg.h头文件中添加一个pubilic图像列表类对象
// 图像列表类对象
CImageList m_imagelist;
在初始化区域添加代码来添加图标
// 添加图标
HICON hIcon[4];
// 加载图标
hIcon[0] = theApp.LoadIconW(IDI_ICON1);
hIcon[1] = theApp.LoadIconW(IDI_ICON2);
hIcon[2] = theApp.LoadIconW(IDI_ICON3);
hIcon[3] = theApp.LoadIconW(IDI_ICON4);
// 创建图标序列CImageList对象
m_imageList.Create(32, 32, ILC_COLOR32, 3, 3);
// 将三个图标添加到图像序列
for (int i = 0; i < 4; i++){
m_imageList.Add(hIcon[i]);
}
// 为树形控件设置图像序列
m_webTree.SetImageList(&m_imageList, TVSIL_NORMAL);
此时图标就添加成功了。