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 ...
随机推荐
- Django笔记&教程 0-2 框架版本与相关工具
Django 自学笔记兼学习教程第0章第2节-- 框架版本与相关工具 点击查看教程总目录 1 版本 python: 3.6.5 Django: 2.2.11 (有些地方我也会对比下各种版本的区别) 安 ...
- Highcharts › 自由绘图
... <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...
- [cf1479D]Odd Mineral Resource
先考虑判定是否有解,注意到无解即每一个数都出现偶数次,根据异或的性质,只需要随机$V_{i}$,假设$u$到$v$路径上所有节点构成集合$S$,若$\bigoplus_{x\in S,l\le a_{ ...
- [bzoj1858]序列操作
考虑建立一棵线段树,维护:1.左端点的连续1和:2.右端点的连续1和:3.最长1的连续子序列:4.1的个数:5.将0和1交换后上面的四项:6.懒标记具体实现中,需要注意细节,可以看代码(比较短) 1 ...
- 一文详解 OpenGL ES 3.x 渲染管线
OpenGL ES 构建的三维空间,其中的三维实体由许多的三角形拼接构成.如下图左侧所示的三维实体圆锥,其由许多三角形按照一定规律拼接构成.而组成圆锥的每一个三角形,其任意一个顶点由三维空间中 x.y ...
- 获取客户端Mac地址
近期有个需求,需要获取客户端Mac地址作为白名单验证的依据.使用.net,B/S架构.先百度找了一些获取mac地址的方法, using System; using System.Collections ...
- CF1574D The Strongest Build
考虑到有\(m\)个限制,可以考虑\(m+1\)个最大的答案,这样可以利用鸽笼原理得到答案. 这是一般做法. 但是这样的题目,我们发现\(n\)个操作都是独立的. 那么我们可以全部都选取最大,并以此调 ...
- Go语言核心36讲(Go语言实战与应用二十)--学习笔记
42 | bufio包中的数据类型 (上) 今天,我们来讲另一个与 I/O 操作强相关的代码包bufio.bufio是"buffered I/O"的缩写.顾名思义,这个代码包中的程 ...
- pycurl报错: ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend
报错: ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl ...
- R语言与医学统计图形-【26】ggplot2主题函数
ggplot2绘图系统--主题函数 1. theme函数 theme_*系列函数提供了9种不同的风格. theme_grey/gray/bw/linedraw/light/minimal/classi ...