MFC入门示例之树控件(CTreeControl)

1 //增加按钮
2 void CMFCApplication8Dlg::OnBnClickedButtonAdd()
3 {
4 //树中添加节点
5 CString strText;
6 GetDlgItemText(IDC_EDIT1, strText);
7 if (strText.GetLength() == 0) {
8 AfxMessageBox(TEXT("请输入文本"));
9 return;
10 }
11 HTREEITEM hItem = m_tree.GetSelectedItem();//获取当前被选中的节点
12 if (hItem == NULL)
13 hItem = TVI_ROOT;
14
15 TVINSERTSTRUCT ts = { 0 };
16 ts.hParent = hItem;
17 ts.hInsertAfter = TVI_LAST;
18 ts.item.pszText = strText.GetBuffer();
19 ts.item.mask = TVIF_TEXT;
20 HTREEITEM hNewItem = m_tree.InsertItem(&ts);
21 m_tree.SelectItem(hNewItem); //选中新加入的节点
22 m_tree.EnsureVisible(hNewItem); //树太高看不见问题
23 }
24
25 //删除按钮
26 void CMFCApplication8Dlg::OnBnClickedButtonDel()
27 {
28 //获取当前被选中的节点
29 HTREEITEM hItem = m_tree.GetSelectedItem();//获取当前被选中的节点
30 if (hItem == NULL) {
31 AfxMessageBox(TEXT("请选择一个节点"));
32 return;
33 }
34 HTREEITEM hParent = m_tree.GetParentItem(hItem);
35 m_tree.DeleteItem(hItem);
36 m_tree.SelectItem(hParent);
37 }
38
39 //修改按钮
40 void CMFCApplication8Dlg::OnBnClickedButtonUpdate()
41 {
42 //获取当前被选中的节点
43 HTREEITEM hItem = m_tree.GetSelectedItem();//获取当前被选中的节点
44 if (hItem == NULL) {
45 AfxMessageBox(TEXT("请选择一个节点"));
46 return;
47 }
48 CString strText;
49 GetDlgItemText(IDC_EDIT1, strText);
50 if (strText.GetLength() == 0) {
51 AfxMessageBox(TEXT("请输入文本"));
52 return;
53 }
54 m_tree.SetItemText(hItem, strText);
55 }
56
57 //选中新节点事件
58 void CMFCApplication8Dlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
59 {
60 LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
61 //获取当前被选中的节点
62 HTREEITEM hItem = m_tree.GetSelectedItem();//获取当前被选中的节点
63 if (hItem != NULL) {
64 CString strText = m_tree.GetItemText(hItem);
65 SetDlgItemText(IDC_EDIT1, strText); //选中节点文本添加到编辑框中
66 }
67
68 *pResult = 0;
69 }
MFC入门示例之树控件(CTreeControl)的更多相关文章
- MFC之树控件
树控件对应的类: CTreeControl 树控件属性设置: 启用复选框:Check Boxes = True 父节点显示+-按钮:Has Button = True ; Lines At Roots ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- JS组件系列——Bootstrap 树控件使用经验分享
前言:很多时候我们在项目中需要用到树,有些树仅仅是展示层级关系,有些树是为了展示和编辑层级关系,还有些树是为了选中项然后其他地方调用选中项.不管怎么样,树控件都是很多项目里面不可或缺的组件之一.今天, ...
- WPF自定义控件与样式(9)-树控件TreeView与菜单Menu-ContextMenu
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 菜单M ...
- jasonTree多选多级树控件
jasonTree1.0 jasonTree多选多级树控件(名字是自己取),用于友好的展示树形结构的数据,并可以多选,传统的做法是在一个select的下拉框中显示一个可折叠的树结构,公司的需求人员这种 ...
- wxPython树控件
1.树控件 树(tree)是一种通过层次结构展示信息的控件,如下图所示是树控件示例,左窗口中是树控件,在wxPython中树控件类是wx.TreeCtrl. wx.TreeCtrl中一个常用的方法有: ...
- 【转】WPF自定义控件与样式(9)-树控件TreeView与菜单Menu-ContextMenu
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要内容: 菜单Menu的自定义样式: 右键菜单ContextMenu的自定义样式 ...
- js插件---Bootstrap 树控件
js插件---Bootstrap 树控件 一.总结 一句话总结:可以直接用gojs,或者搜索js,jquery的树控件,或者bootstrap树控件,一大堆 gojs 二.JS组件系列——Bootst ...
- MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片
版权声明:本文为博主原创文章,转载请注明CSDN博客源地址! 共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/26404733 ...
随机推荐
- 我罗斯方块第二次作业(Player类)
我罗斯方块第二次作业 我的任务 完成player类的编写 player类的测试 我的计划 类的设计: Player类作为一个玩家类,需要处理和玩家有关的所有信息,以及维护玩家的游戏页面map.关于玩家 ...
- 大爽Python入门教程 3-5 习题
大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...
- 【JAVA】编程(6)--- 应用IO流拷贝文件夹(内含多个文件)到指定位置
此程序应用了: File 类,及其常用方法: FileInputStream,FileOutputStream类及其常用方法: 递归思维: package com.bjpowernode.javase ...
- Atcoder Grand Contest 001 D - Arrays and Palindrome(构造)
Atcoder 题面传送门 洛谷题面传送门 又是道思维题,又是道把我搞自闭的题. 首先考虑对于固定的 \(a_1,a_2,\dots,a_n;b_1,b_2,\dots,b_m\) 怎样判定是否合法, ...
- CF Edu Round 71
CF Edu Round 71 A There Are Two Types Of Burgers 贪心随便模拟一下 #include<iostream> #include<algor ...
- DirectX12 3D 游戏开发与实战第九章内容(下)
仅供个人学习使用,请勿转载.谢谢! 9.纹理贴图 学习目标 学习如何将局部纹理映射到网格三角形中 探究如何创建和启用纹理 学会如何通过纹理过滤来创建更加平滑的图像 探索如何使用寻址模式来进行多次贴图 ...
- Oracle——创建多个实例(数据库)、切换实例、登录数据库实例
oracle中怎么创建多个实例? 其实很简单,怎么创建第一个实例,其他实例应该也怎么创建. 我的理解其实在linux中的oracle数据库中创建一个实例,实际上就是创建一个新的数据库,只是实例名字不同 ...
- 46.Valid Parentheses
Valid Parentheses My Submissions QuestionEditorial Solution Total Accepted: 106346 Total Submissions ...
- 出现NoClassDefFoundError,始终无法引入jar的解决
在拉取代码后,项目的部分版本与本地存在的不一定一致,所以IDEA会自动下载并引入,但是在启动时可能存在java.lang.NoClassDefFoundError这个报错 比如引入marshallin ...
- 巩固javaweb的第二十天
巩固内容: 同一个页面中的多个 form 在同一个页面中可以有多个 form 如果存在多个 form,那么提交信息的时候提交哪些信息,提交给哪个文件处理,这都 与提交按钮的位置有关.如果提交按钮在第一 ...