CTreeCtrl 控件的一些使用_ctreectrl 默认选中setfocus();-程序员宅基地

技术标签: VC 控件  VC  

CTreeCtrl 控件的一些使用

1. 一些函数(望文生义)
HTREEITEM hItem
m_Tree.GetSelectedItem();
m_Tree.GetRootItem();
m_Tree.ItemHasChildren(hItem);
m_Tree.Expand(m_hSelItem, TVE_EXPAND);
HTREEITEM hItemTemp = m_Tree.GetNextItem(m_hSelItem, TVGN_NEXTVISIBLE);

2. 向下逐行选中
void XXXXDlg::OnButton1()
{
     m_hSelItem = m_Tree.GetSelectedItem();
     if(m_hSelItem == 0)
     {
          m_hSelItem = m_Tree.GetRootItem();
          m_Tree.Expand(m_hSelItem, TVE_EXPAND);
     }
     else
     {
          m_Tree.Expand(m_hSelItem, TVE_EXPAND);
          HTREEITEM hItemTemp = m_Tree.GetNextItem(m_hSelItem, TVGN_NEXTVISIBLE);
          if(hItemTemp != 0)
          {
               m_hSelItem = hItemTemp;
          }
     }

     m_Tree.EnsureVisible(m_hSelItem);
     m_Tree.SelectItem(m_hSelItem);
     m_Tree.SetFocus();
}

3. 向上逐行选中
void XXXXDlg::OnButton2()
{
     m_hSelItem = m_Tree.GetSelectedItem();
     if(m_hSelItem == 0)
     {
          m_hSelItem = m_Tree.GetRootItem();
          m_Tree.Expand(m_hSelItem, TVE_EXPAND);
     }
     else
     {
          HTREEITEM hItemTemp = m_Tree.GetNextItem(m_hSelItem, TVGN_PREVIOUSVISIBLE);
          Expand(hItemTemp);
          m_hSelItem = m_Tree.GetNextItem(m_hSelItem, TVGN_PREVIOUSVISIBLE);
     }

     m_Tree.EnsureVisible(m_hSelItem);
     m_Tree.SelectItem(m_hSelItem);
     m_Tree.SetFocus();
     return; 
}

void XXXXDlg::Expand(HTREEITEM hItem)
{
     if(m_Tree.ItemHasChildren(hItem))
     {
          m_Tree.Expand(hItem, TVE_EXPAND);
          HTREEITEM hChildItem = m_Tree.GetChildItem(hItem);
          while(hChildItem)
          {
              Expand(hChildItem);
               hChildItem = m_Tree.GetNextItem(hChildItem, TVGN_NEXT);
          }
     }
}

4. 新增(插入)元素
itemNew = m_Tree.InsertItem( strItemName, iterParent ); // 返回新增的元素

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cay22/article/details/8252630

智能推荐

小学美术计算机教案,【实用】小学美术教案6篇-程序员宅基地

文章浏览阅读492次。【实用】小学美术教案6篇作为一名教师,就有可能用到教案,教案有助于顺利而有效地开展教学活动。来参考自己需要的教案吧!下面是小编帮大家整理的小学美术教案6篇,欢迎大家分享。小学美术教案 篇1第1课难忘夏天教学目标通过感受和体验,引导学生用美术语言表达夏天,挖掘创造潜能,抒发自己的情感。教学重难点1.重点:引导学生感受夏天,抓住自己难忘的细节,用美术材料大胆地表现自己对夏天的理解。2.难点:如何巧妙地..._小学美术教学设计博客

mybatis入门-04-配置文件详解_mybatis yml配置文件详解-程序员宅基地

文章浏览阅读120次。配置文件详解_mybatis yml配置文件详解

配置Ipv4地址,脚本怎么写_脚本地址怎么填-程序员宅基地

文章浏览阅读3.8k次。在公司项目开发的时候需要将项目部署在不同的服务器上,部署时你需要进行ip的切换,接下来我来介绍俩种配置方法。第一种首先点击桌面右下角的电脑图标,用鼠标右击打开Internet设置。进入到如下界面,点击以太网,点击右边的更改适配器配置。然后进入到如下界面,双击如下图标。然后进入到如下界面,双击属性。进入到如下界面,双击如下图标。进入到如下界面,黄色部分为ip和网关填上去就好,..._脚本地址怎么填

JVM调优专题-内存溢出及解决方案_jvm调优 堆内存溢出-程序员宅基地

文章浏览阅读1.6k次。吃撑过吗?吃多了还想吃咋办?当然JVM也有吃撑了的时候,甚至撑到程序宕机卡死,后果很严重。本节我们一起探讨如何判断JVM内存溢出、以及其解决方案。_jvm调优 堆内存溢出

「生存即赚」链接现实与游戏,打造3T平台生态

3T游戏的推出,旨在聚合资源,开拓新的市场领域,为整个行业创造更多的增长点和价值空间。抵抗者算力救助:为了缓解玩家在游戏中可能遭受的损失,当玩家所在的房间被攻破时,虽然他们投入的USDT或3TC会损失,但作为补偿,玩家将获得相应比例的3TC算力救助,这种机制既体现了游戏的人文关怀,又为玩家提供了继续参与游戏的动力。3T游戏平台解决的不仅仅是玩家游戏体验的问题,它还将区块链技术与DEFI和跨链相结合,链接全球的各个环节,让用户可以在不同链上进行游戏交互,享受更加多样化和丰富的游戏体验,打造3T游戏生态。

可视化配置 Nginx 代理:功能完备,使用简单 | 开源日报 No.234

想要轻松管理 Nginx 代理主机和 SSL 证书吗?试试一下 nginx-proxy-manager 吧!拥有简单强大的界面和各种功能优势,让您无需深入了解 Nginx 或 Let's Encrypt,就能轻松实现反向代理和 SSL 证书管理。赶快体验吧!

随便推点

前端canvas项目实战——在线图文编辑器(九):逻辑画布

上一篇博文中,我们实现了一组通用的功能按钮:复制、删除、锁定和层叠顺序。这篇博文是《前端canvas项目实战——在线图文编辑器》付费专栏系列博文的第九篇——逻辑画布,主要的内容有:1. 调整页面布局,将画布区域扩展至整个屏幕的剩余空间中。2. 区分「物理画布」和「逻辑画布」,为实现「缩放」、「辅助线」等功能打基础。

【团体程序设计天梯赛】往年关键真题 L2-026 小字辈 递归 & L2-027 名人堂与代金券 排序 详细分析&完整AC代码

L2-026 小字辈 递归本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。L2-027 名人堂与代金券 排序对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入

C++里的new

请你找出其中不含有重复字符的。请注意,你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。,所以其长度为 3。

怎样在 Ubuntu 中修改默认程序_ubuntu20.04开机logo界面修改默认unity-程序员宅基地

文章浏览阅读814次。作为一个新手,你需要知道如何在 Ubuntu 中修改任何默认程序,这也是我今天在这篇指南中所要讲的。_ubuntu20.04开机logo界面修改默认unity

C语言初阶-函数-程序员宅基地

文章浏览阅读82次。有的时候,我们自己想要实现的功能没有库函数的时候,但是多个文件中又要使用到。那么我们就可以把自己的这个功能模块封装成一个函数。自己随时取用就行。自定义函数的形式是什么样的呢?statement://语句项ret_type 返回类型fun_name 函数名para1 函数参数举个例子,我们要实现一个加法函数,实现两个数相加ret_type 返回类型 我们如果想要返回一个结果,两个数相加的结果是整型,那么返回值就是int。

Java+Mysql +SpringBoot个人网盘系统92922-计算机毕业设计(可赠源码)_springboot 网盘-程序员宅基地

文章浏览阅读281次,点赞5次,收藏7次。该平台采用的数据库是Mysql,SpringBoot框架,使用Java技术开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。个人网盘系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个线上系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。_springboot 网盘