首页 > 其他分享 >MFC创建树状导览 Tree Control

MFC创建树状导览 Tree Control

时间:2024-05-19 17:52:58浏览次数:26  
标签:Control MFC InsertItem pszText Tree pTree item 节点 tvinsert

CTreeCtrl* pTree = (CTreeCtrl*)GetDlgItem(IDC_TREE1);
// 设置图片列表
//pTree->SetImageList(&m_imageList, TVSIL_NORMAL);
// 创建待插入的TV_INSERTSTRUCT结构
TV_INSERTSTRUCT tvinsert;
tvinsert.hParent = NULL;			// 无父结点
tvinsert.hInsertAfter = TVI_LAST;	// 插入到本层最后
tvinsert.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT;
// 掩码包括   图标         选中图标            文字
tvinsert.item.hItem = NULL;			// 句柄为空
tvinsert.item.state = 0;			// 状态
tvinsert.item.stateMask = 0;		// 状态掩码,不使用这两项
tvinsert.item.cchTextMax = 6;		// 最大文字长度,忽略
tvinsert.item.iSelectedImage = 1;	// 选中图标索引
tvinsert.item.cChildren = 0;		// 没有子节点
tvinsert.item.lParam = 0;			// 自定义数据

// 第一层
//tvinsert.item.iImage = 2;			
// 插入第一层第一个节点"father"
tvinsert.item.pszText = L"father";
HTREEITEM hDad = pTree->InsertItem(&tvinsert);
// 插入第一层第二个节点"mother"
tvinsert.item.pszText = L"mother";
HTREEITEM hMom = pTree->InsertItem(&tvinsert);

// 创建第二层
tvinsert.hParent = hDad;			// 父节点为"father"
//tvinsert.item.iImage = 3;		
// 插入第二层"father"的第一个节点"son"
tvinsert.item.pszText = L"son";
pTree->InsertItem(&tvinsert);
// 插入第二层"father"的第二个节点"daughter"
tvinsert.item.pszText = L"daughter";
pTree->InsertItem(&tvinsert);

// 还是创建第二层
tvinsert.hParent = hMom;			// 父结点为"mother"
//tvinsert.item.iImage = 4;			
// 插入第二层"mother"的第一个节点"son"
tvinsert.item.pszText = L"son";
pTree->InsertItem(&tvinsert);
// 插入第二层"mother"的第二个节点"daughter"
tvinsert.item.pszText = L"daughter";
pTree->InsertItem(&tvinsert);
// 插入第二层"mother"的第三个节点"cartoon"
tvinsert.item.pszText = L"cartoon";
HTREEITEM hOther = pTree->InsertItem(&tvinsert);

// 创建第三层
tvinsert.hParent = hOther;			// 父结点为"cartoon"
//tvinsert.item.iImage = 7;
// 插入第三层"cartoon"的第一个节点"Tom"
tvinsert.item.pszText = L"Tom";
pTree->InsertItem(&tvinsert);
// 插入第三层"cartoon"的第二个节点"Jerry"
tvinsert.item.pszText = L"Jerry";
pTree->InsertItem(&tvinsert);

标签:Control,MFC,InsertItem,pszText,Tree,pTree,item,节点,tvinsert
From: https://www.cnblogs.com/yingtaoqqq/p/18200536

相关文章

  • [Bash] Controls flow
    IfTheifstatementisusedtoexecutecommandsbasedonacondition.if[condition];thencommandsfiExample:vimexample.sh#!/bin/zshecho"Enteranumber:"readnumberif[$number-gt0];thenecho"Thenumberispositive......
  • Windows Active Directory(AD)域控制器(Domain Controller, DC)在企业IT管理中扮演着至关
    WindowsActiveDirectory(AD)域控制器(DomainController,DC)在企业IT管理中扮演着至关重要的角色,其优势、好处和作用体现在以下几个方面:优势与好处:集中化管理:权限与资源管理集中化,便于统一配置和控制,减少了管理的复杂度和成本。简化用户和计算机账户的创建、修改和删除......
  • HTML 24 - Form Control
     HTMLFormControlsTheformelementsthatareusedtocreatecontrolsfortheuserinteractionwithinthebrowseraretermedasformcontrols.Theyenableuserstoenterinformationfortheserversideprocessing.Thenatureofinteractionwiththeserv......
  • 从启发式合并到Dsu on Tree
    从启发式合并到DsuonTree传统启发式合并[HNOI2009]梦幻布丁题目描述\(n\)个布丁摆成一行,进行\(m\)次操作。每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色。例如,颜色分别为\(1,2,2,1\)的四个布丁一共有\(3\)段颜色.输入格式第一行是两......
  • restcontroller中使用delete请求发送带参路径报错
    报错内容:Resolved[org.springframework.web.HttpRequestMethodNotSupportedException:Requestmethod'DELETE'notsupported]具体情景:postman中发送的路径: 每次用这个路径发送delete请求都报错,但是用这个路径发送get请求做查询却没问题,真的让我苦恼好久 解决:因为HttpC......
  • kubernetes DeploymentController 源码解析
    DeploymentController对象从 NewDeploymentController方法开始创建,我们首先看这个方法1//NewDeploymentControllercreatesanewDeploymentController.2funcNewDeploymentController(ctxcontext.Context,dInformerappsinformers.DeploymentInformer,rsInformer......
  • B. Omkar and Heavenly Tree
    原题链接题解真的bt啊由于m没有限制所有测试用例的总和,所以m可以近似看为1e9,也就是说,除了输入以外,不能有任何对m的处理(常数乘上1e9)考虑菊花图,任意两点之间最多只有一个陌生点,而且\(m\ltn\)所以找出那个没有出现过的中间点,作为菊花图的中心md!!构造题!!code#include<bits/std......
  • ControlNet
    ControlNet是一个用于控制AI图像生成的插件。它使用了一种称为"ConditionalGenerativeAdversarialNetworks"(条件生成对抗网络)的技术来生成图像。与传统的生成对抗网络不同,ControlNet允许用户对生成的图像进行精细的控制。这使得ControlNet在许多应用场景中非常有用,例如......
  • UITabBarController点击UITabBarItem 禁止跳转 iOS
    写在下面类里无效,切记classCJZFTabBarViewController:UITabBarController{} 需要写在appdelegate或者基类里,可以拦截tabbaritem是否被选中。选中了后,才会走  didSelect代理方法。 @interfaceBaseViewController()<UITabBarControllerDelegate>@end//判......
  • Replication Controller副本控制器RC
    rc的作用: kubectlgetrckubectlgetpods如果yaml文件中没有设置template中pod的名字,那么就会以rc名字为前缀然后随机生成名字!! kubectldeletepodpodName删除一个pod以后,会根据rc配置的pod数,在立马生成一个pod: kubectleditpodpodNameps:rc是通过便签来管理他......