MFC 树形控件与列表控件


初始化区域代码:

	// TODO:  在此添加额外的初始化代码

	srand(time(NULL));

	// 添加位图资源,必须要全局变量才行
	m_treeImageListRoot.Create(IDB_BITMAP1, 24, 0, RGB(0, 255, 0));
	m_treeImageListSon.Create(IDB_BITMAP2, 24, 1, RGB(0, 255, 0));
	m_tree.SetImageList(&m_treeImageListSon, TVSIL_NORMAL);

	// 一级控件
	CString strRoot[4] = { L"朋友", L"同事", L"同学", L"家人" };
	for (int i = 0; i < 4; i++){
		hRoot[i] = m_tree.InsertItem(strRoot[i], 0, 0);
		m_tree.SetItemData(hRoot[i], (DWORD)(i+100));
	}

	static int first = 1;
	static int num = 0;
	// 二级控件
	CString firstName[12] = { L"赵",L"褚", L"钱", L"孙", L"李", L"周" ,L"吴",L"卫",L"陈",L"冯",L"王",L"郑"};     
	CString secondName[14] = { L"同", L"蚁", L"戢", L"止", L"己", L"潜", L"肖", L"泣", L"涂", L"种", L"冼", L"睢", L"地", L"根" };
	CString thridName[20] = { L"", L"", L"", L"", L"", L"", L"", L"蔡", L"余", L"杜", L"叶", L"程", L"苏", L"魏", L"吕", L"丁", L"任", L"沈" ,L""};
	for (int i = 0; i < 4; i++){
		for (int j = 0; j < 4; j++){
			childTree = m_tree.InsertItem(firstName[rand() % 12]+secondName[rand()%14]+thridName[rand()%20], 0, 0, hRoot[i], TVI_LAST);
			m_tree.SetItemData(childTree, (DWORD)(num++));			
			if (first){
				first = 0;
				activeTree = childTree;
			}
		}
	}

	// 设置选定项
	m_tree.Select(activeTree, TVGN_CARET);

	// 列表控件
	m_list.InsertColumn(0,L"类 别", LVCFMT_LEFT, 100);
	m_list.InsertColumn(1,L"描 述", LVCFMT_LEFT, 150);

	// 修改风格
	m_list.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);

双击树形控件:

void CContactProcDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
	// TODO:  在此添加控件通知处理程序代码

	HTREEITEM SetItem;
	CString Name = L"";
	CString Num = L"";
	CString Age = L"";
	SetItem = m_tree.GetSelectedItem();
	DWORD data = m_tree.GetItemData(SetItem);

	Name = m_tree.GetItemText(SetItem);           // 获取名字
	Num.Format(L"ECJTU2015211000%d%d", data%10,data/10);      // 学号
	Age.Format(L"%d", rand() % 20 + 20);          // 年龄

	m_list.DeleteAllItems();
	m_list.InsertItem(0, L"姓名:");
	m_list.SetItemText(0, 1, Name);
	m_list.InsertItem(1, L"学号:");
	m_list.SetItemText(1, 1, Num);
	m_list.InsertItem(2, L"性别:");
	m_list.SetItemText(2, 1, rand() % 2 ? L"男" : L"女");
	m_list.InsertItem(3, L"年龄:");
	m_list.SetItemText(3, 1, Age);

	*pResult = 0;
}

此外添加了一个位图资源。



  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值