VC CTreeCtrl用法总结

简介:
可能对VC掌握得太少了,同样的控件,C#为什么用起来那么简练,晕。
复制代码
大气象
HTREEITEM hItem1A  =  m_tree.InsertItem(_T( " " ),TVI_ROOT); // 添加根节点的两种方法
// HTREEITEM hItem1A = m_tree.InsertItem(_T("根"),0,0);

HTREEITEM hItem2_1B
= m_tree.InsertItem(_T( " 根上一1 " ), 1 , 2 ,hItem1A,TVI_LAST);

m_tree.InsertItem(_T(
" 根上二 " ), 1 , 2 ,hItem2_1B); 

m_tree.InsertItem(_T(
" 根上二 " ), 1 , 2 ,hItem2_1B); 

HTREEITEM hItem2_2B
= m_tree.InsertItem(_T( " 根上一 " ), 1 , 2 ,hItem1A,TVI_LAST);

m_tree.InsertItem(_T(
" 根上一 " ), 1 , 2 ,hItem2_2B); 

m_tree.InsertItem(_T(
" 根上一 " ), 1 , 2 ,hItem2_2B); 

m_tree.InsertItem(_T(
" 根上一 " ), 1 , 2 ,hItem1A,TVI_LAST);

m_tree.InsertItem(_T(
" 根上一 " ), 1 , 2 ,hItem1A,TVI_LAST);

// 设置显示风格

m_tree.SetBkColor (RGB(
220 , 200 , 220 )); // 背景颜色

m_tree.Expand(hItem1A,TVE_EXPAND);
// 根部展开

DWORD dwStyle
= GetWindowLong(m_tree.m_hWnd ,GWL_STYLE); // 获得树的信息

dwStyle
|= TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT; // 设置风格

::SetWindowLong (m_tree.m_hWnd ,GWL_STYLE,dwStyle);
复制代码

SelectChanged事件

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

    
// 这样就可以得到选中项的节点了
    HTREEITEM hItem  =  m_tree.GetSelectedItem();
    
// 得到它的内容
    CString Text  =  m_tree.GetItemText(hItem);
    AfxMessageBox(Text);
}
复制代码
相关文章
|
C++ Windows
(1)Qt的基本数据类型以及基本输出
这篇文章介绍了Qt框架中的基本数据类型和日志输出方法,包括如何使用QDebug类及其相关函数进行调试和日志记录,以及如何取消输出时的空格和字符串引号,还提供了抑制输出的两种方式。
464 4
(1)Qt的基本数据类型以及基本输出
|
传感器 监控 供应链
IoT 和 IIoT 有什么区别
IoT(物联网)是指通过互联网连接各种日常设备,实现数据交换和远程控制的技术。而IIoT(工业物联网)则是专为工业领域设计的IoT,强调在制造业、能源等行业的应用,注重提高生产效率、优化流程和增强安全性。两者主要区别在于应用场景和目标不同。
|
存储 人工智能 安全
探秘英伟达显卡的制造之路 | 英伟达断供GPU,中国大模型何去何从?
在当今时代,人工智能技术正以前所未有的速度发展,推动着各个领域的创新与变革。作为人工智能技术的核心引擎之一,高性能GPU扮演着至关重要的角色。在这个领域,英伟达的H100无疑是一款备受瞩目的高端产品。它针对高性能计算和人工智能应用而设计,具备强大的计算能力和高内存容量,以及先进的互连技术,可以有效提升集群中的计算效率,加速深度学习、计算机视觉、自然语言处理等领域的AI训练和推理任务。
1437 0
|
安全 调度 开发者
并发异步编程之争:协程(asyncio)到底需不需要加锁?(线程/协程安全/挂起/主动切换)Python3
协程与线程向来焦孟不离,但事实上是,线程更被我们所熟知,在Python编程领域,单核同时间内只能有一个线程运行,这并不是什么缺陷,这实际上是符合客观逻辑的,单核处理器本来就没法同时处理两件事情,要同时进行多件事情本来就需要正在运行的让出处理器,然后才能去处理另一件事情,左手画方右手画圆在现实中本来就不成立,只不过这个让出的过程是线程调度器主动抢占的。
并发异步编程之争:协程(asyncio)到底需不需要加锁?(线程/协程安全/挂起/主动切换)Python3
|
消息中间件 监控 NoSQL
10.3k?这才是企业级的 Spring Cloud Alibaba 微服务开发平台,真心牛 x! 上
10.3k?这才是企业级的 Spring Cloud Alibaba 微服务开发平台,真心牛 x! 上
|
程序员 项目管理 数据库
PMP最强备考计划(程序员版)
PMP最强备考计划(程序员版)
285 0
|
缓存 Linux
CentOS8 更换镜像源(华为云为例)
CentOS8 更换镜像源(华为云为例)
2585 0
CentOS8 更换镜像源(华为云为例)
|
安全 关系型数据库 MySQL
java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.避坑指南
最近遇到了 java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.这个报错。 再此分享,希望能够对其他人有帮助,
693 0
java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.避坑指南
|
SQL 前端开发 数据库
Mybatis-Plus的分页 乐观锁插件 通用枚举 多数据源(一)
Mybatis-Plus的分页 乐观锁插件 通用枚举 多数据源(一)
356 0