Windows图形界面(GUI)-MFC-C/C++ - 树形视图(Tree Control) - CTreeCtrl

news/2024/9/23 20:27:48/
  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​链接点击跳转博客主页

目录

树形视图(Tree Control) - CTreeCtrl

创建和初始化

添加和删除项

获取和设置项属性

操作项

项选择变化

项双击

项展开

示例代码


树形视图(Tree Control) - CTreeCtrl

创建和初始化

  • SubclassDlgItem:将对话框中的控件子类化,使其与CTreeCtrl对象关联。

  • Create:动态创建一个树形视图控件。

添加和删除项

  • InsertItem:在树形视图中插入一个新项。

  • DeleteItem:从树形视图中删除一个项。

  • DeleteAllItems:删除树形视图中的所有项。

获取和设置项属性

  • SetItemText:设置树形视图中项的文本。

  • GetItemText:获取树形视图中项的文本。

  • SetItemImage:设置树形视图中项的图像。

  • GetItemImage:获取树形视图中项的图像。

操作项

  • Expand:展开或折叠树形视图中的项。

  • Select:选择树形视图中的项。

  • EnsureVisible:确保树形视图中的项可见。

项选择变化

  • TVN_SELCHANGED:当树形视图中的项选择发生变化时触发。
项双击

  • TVN_SELCHANGING:当树形视图中的项选择即将发生变化时触发。
项展开

  • TVN_ITEMEXPANDED:当树形视图中的项被展开或折叠后触发。
示例代码
void CMainDlg::OnBnClickedButton31()
{DWORD dwDrivers = ::GetLogicalDrives();for (size_t i = 0; i < 26; i++){if ((dwDrivers & (1 << i)) != 0){CString strDriver;strDriver.Format(_T("%c:"), 'A' + i);HTREEITEM hRoot = m_Tree.InsertItem(strDriver, 0, 0, TVI_ROOT, TVI_LAST);DirFileInfo(hRoot, strDriver);}}
}void CMainDlg::DirFileInfo(HTREEITEM hParent, const CString& strPath)
{CFileFind fileFind;CString CurPath = strPath + _T("\\*.*");BOOL bRet = fileFind.FindFile(CurPath);while (bRet){bRet = fileFind.FindNextFileW();if (fileFind.IsDirectory() && !fileFind.IsDots()){HTREEITEM hRoot = m_Tree.InsertItem(fileFind.GetFileName(), 0, 0, hParent);DirFileInfo(hRoot, strPath + _T("\\") + fileFind.GetFileName());}else if (!fileFind.IsDirectory() && !fileFind.IsDots() && !fileFind.IsHidden()){m_Tree.InsertItem(fileFind.GetFileName(), 0, 0, hParent);}}
}


http://www.ppmy.cn/news/1508850.html

相关文章

Kotlin 值类(Value Class)

在 Java 中&#xff0c;像 Integer、Double 等都是 包装类&#xff0c;都需要创建对象 装箱 数值。 很显然 创建对象是 消耗额外内存的&#xff0c;而 对于优化这种问题&#xff0c;Kotlin 引入了 value class&#xff0c;尽量避免装箱和脱箱。 一、声明语法 JvmInline value…

【JavaEE初阶】文件操作和IO

目录 &#x1f334;认识文件 &#x1f6a9;树型结构组织和目录 &#x1f6a9;文件路径&#xff08;Path&#xff09; &#x1f6a9; 文件分类 &#x1f38d;Java 中操作文件 &#x1f6a9; File 概述&#xff1a; &#x1f4cc;属性 &#x1f4cc;构造方法 &#x1f4c…

气膜建筑的抗风与防火性能:保障仓储的安全—轻空间

气膜建筑以其独特的结构和材料优势&#xff0c;为仓储设施提供了可靠的安全保障。在应对自然灾害特别是强风和火灾时&#xff0c;气膜建筑展示了优异的抗风和防火性能。轻空间将详细探讨这些性能及其在实际应用中的表现。 气膜建筑的抗风能力源于其特殊的结构设计和高性能材料。…

【面试宝典】多线程

一、线程和进程的区别&#xff1f; 进程和线程是操作系统中的两个重要概念&#xff0c;它们之间存在着明显的区别。以下是对进程和线程区别的详细阐述&#xff1a; 1、定义与基本单位 进程&#xff08;Process&#xff09;&#xff1a;进程是计算机中的程序关于某数据集合上…

【解压即玩】PC端最好用最漂亮的前端CoinOPS整合包186G 复古带遮罩和滤镜,怀旧拉满

这是大神做的一个整合包&#xff0c;让游戏界面更加的漂亮&#xff0c;如图&#xff0c;下面是游戏选择画面&#xff0c;右侧是滚动的圆盘&#xff0c;左侧显示游戏的画面&#xff1a; 实际游戏时的界面是这样的&#xff1a; 应当是目前最漂亮的游戏界面了。之前有人说在电脑上…

白骑士的Matlab教学实战项目篇 4.4 机器学习与AI

系列目录 上一篇&#xff1a;白骑士的Matlab教学实战项目篇 4.3 控制系统设计 机器学习与人工智能&#xff08;AI&#xff09;是当前技术发展的前沿领域&#xff0c;通过数据驱动的模型和算法&#xff0c;可以解决许多复杂的问题。MATLAB 提供了丰富的工具和函数&#xff0c;支…

Python办公自动化:使用`xlutils` 修改Excel文档

在日常办公自动化中&#xff0c;除了读取Excel文件&#xff0c;我们还经常需要对文件进行修改或更新。在Python中&#xff0c;除了xlrd&#xff0c;还可以使用xlutils库来实现对Excel文件的修改操作。本文将继续以“巴黎奥运会奖牌榜.xlsx”文件为例&#xff0c;讲解如何使用xl…

14.1 NumPy基础

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…