资源简介
树形控件,详细介绍:https://blog.csdn.net/konglongdanfo1/article/details/80710033

代码片段和文件信息
// SelfUpdateTreeCtrl.cpp : 实现文件
//
#include “stdafx.h“
#include “SelfUpdateTreeCtrl.h“
#include
// CSelfUpdateTreeCtrl
IMPLEMENT_DYNAMIC(CSelfUpdateTreeCtrl CTreeCtrl)
CSelfUpdateTreeCtrl::CSelfUpdateTreeCtrl()
{
m_strRoot = ““;
m_hAcceptMessage = NULL;
m_nImgList = LVSIL_NORMAL;
}
CSelfUpdateTreeCtrl::CSelfUpdateTreeCtrl(CString strPath) : m_strRoot(strPath)
{
m_hAcceptMessage = NULL;
m_nImgList = LVSIL_NORMAL;
InitRootDirectory();
}
CSelfUpdateTreeCtrl::~CSelfUpdateTreeCtrl()
{
if ( NULL != m_ImgList.GetSafeHandle())
{
m_ImgList.DeleteImageList();
ASSERT(m_ImgList.GetSafeHandle() == NULL);
}
}
CSelfUpdateTreeCtrl::CSelfUpdateTreeCtrl(CSelfUpdateTreeCtrl & ob)
{
m_strRoot = ob.m_strRoot;
m_hAcceptMessage = ob.m_hAcceptMessage;
if (!m_vecTreeTop.empty())
{
m_vecTreeTop.clear();
}
if (!m_vecHierarchy.empty())
{
m_vecHierarchy.clear();
}
if (!m_vecUnwantedString.empty())
{
m_vecUnwantedString.clear();
}
m_vecTreeTop = ob.m_vecTreeTop;
m_vecHierarchy = ob.m_vecHierarchy;
m_vecUnwantedString = ob.m_vecUnwantedString;
//图标列表
m_nImgList = ob.m_nImgList;
SetTreeImageList( &(ob.m_ImgList));
}
CSelfUpdateTreeCtrl & CSelfUpdateTreeCtrl::operator= (CSelfUpdateTreeCtrl & ob)
{
//CTreeCtrl::operator= (ob);
if (this == &ob)
return *this;
m_strRoot = ob.m_strRoot;
m_hAcceptMessage = ob.m_hAcceptMessage;
if (!m_vecTreeTop.empty())
{
m_vecTreeTop.clear();
}
if (!m_vecHierarchy.empty())
{
m_vecHierarchy.clear();
}
if (!m_vecUnwantedString.empty())
{
m_vecUnwantedString.clear();
}
m_vecTreeTop = ob.m_vecTreeTop;
m_vecHierarchy = ob.m_vecHierarchy;
m_vecUnwantedString = ob.m_vecUnwantedString;
// 图标列表
m_nImgList = ob.m_nImgList;
if (m_ImgList.GetSafeHandle())
{
m_ImgList.DeleteImageList();
ASSERT(m_ImgList.GetSafeHandle() == NULL);
}
SetTreeImageList(&(ob.m_ImgList));
return *this;
}
BEGIN_MESSAGE_MAP(CSelfUpdateTreeCtrl CTreeCtrl)
ON_NOTIFY_REFLECT(TVN_SELCHANGED &CSelfUpdateTreeCtrl::OnTvnSelchanged)
END_MESSAGE_MAP()
// CSelfUpdateTreeCtrl 消息处理程序
BOOL CSelfUpdateTreeCtrl::SetTreeRoot(CString strPath)
{
m_strRoot = strPath;
return InitRootDirectory();
}
BOOL CSelfUpdateTreeCtrl::InitRootDirectory()
{
if (““ == m_strRoot)
{
return FALSE;
}
if (!m_vecTreeTop.empty())
{
m_vecTreeTop.clear();
}
CFileFind file;
CString strDirectory = m_strRoot;
if ( strDirectory.Right(1) != “\\“ )
{
strDirectory += _T(“\\“);
}
strDirectory += _T(“*.*“);
BOOL bRet = file.FindFile(strDirectory);
unsigned long ulNum = 0;// 给每个结点设置索引号
while(bRet)
{
bRet = file.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-16 09:24 TreeCtrl\
目录 0 2018-06-16 09:17 TreeCtrl\Introduction\
目录 0 2018-06-16 09:17 TreeCtrl\Introduction\img\
文件 5100529 2018-06-15 21:53 TreeCtrl\Introduction\img\examples.gif
文件 310516 2018-06-16 09:12 TreeCtrl\Introduction\index.html
文件 242 2018-06-16 09:22 TreeCtrl\ReadMe.txt
目录 0 2018-06-16 09:19 TreeCtrl\Source Code\
文件 8934 2018-06-09 19:12 TreeCtrl\Source Code\SelfUpdateTreeCtrl.cpp
文件 1969 2018-06-09 17:05 TreeCtrl\Source Code\SelfUpdateTreeCtrl.h
文件 344038 2018-06-15 21:52 TreeCtrl\效果视频.mp4
- 上一篇:MFC_波形显示器
- 下一篇:C++写的贪吃蛇(含源代码和注释,采用了双缓冲)
相关资源
- 基于MFC的TCP调试助手源码95706
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
评论
共有 条评论