资源简介
源代码,自己继承的CTreeCtrl的自定义树形控件类,添加了很多函数方便使用。
代码片段和文件信息
// MyTreeCtrl.cpp : 实现文件
//
#include “stdafx.h“
#include “MyTreeCtrl.h“
// CMyTreeCtrl
IMPLEMENT_DYNAMIC(CMyTreeCtrl CTreeCtrl)
CMyTreeCtrl::CMyTreeCtrl()
{
}
CMyTreeCtrl::~CMyTreeCtrl()
{
}
BEGIN_MESSAGE_MAP(CMyTreeCtrl CTreeCtrl)
END_MESSAGE_MAP()
// CMyTreeCtrl 消息处理程序
void CMyTreeCtrl::ListInit(DWORD dwNewstyles)//初始化控件
{
DWORD dwstyles = GetWindowLong(this->m_hWnd GWL_style);
dwstyles |= dwNewstyles;
SetWindowLong(this->m_hWnd GWL_style dwstyles);
//m_tree.SetItemHeight(25);
//m_tree.SetTextColor(RGB(00255));
//m_tree.SetBkColor(RGB(255255220));
}
HTREEITEM CMyTreeCtrl::InsertRoot(TV_INSERTSTRUCT &TCItem CString strTemp)//插入根项
{
TCItem.hParent = TVI_ROOT;
TCItem.hInsertAfter = TVI_LAST;
TCItem.item.mask = TVIF_TEXT|TVIF_PARAM;
TCItem.item.pszText = (LPSTR)(LPCSTR)strTemp;
TCItem.item.lParam = 0;
return this->InsertItem(&TCItem);
}
HTREEITEM CMyTreeCtrl::InsertParent(TV_INSERTSTRUCT TCItem HTREEITEM hRoot CString strTemp int i)//插入父项
{
TCItem.hParent = hRoot;
TCItem.item.pszText = (LPSTR)(LPCSTR)strTemp;
TCItem.item.lParam = (i + 1) * 10;
return this->InsertItem(&TCItem);
}
void CMyTreeCtrl::InsertChild(TV_INSERTSTRUCT TCItem HTREEITEM hCur CString strTemp int i int j)//插入子项
{
TCItem.hParent = hCur;
TCItem.item.pszText = (LPSTR)(LPCSTR)strTemp;
TCItem.item.lParam = (i + 1) * 10 + (j + 1);
this->InsertItem(&TCItem);
}
void CMyTreeCtrl::ExpandTree(HTREEITEM hItem)//展开树中的某一项
{
this->Expand(hItemTVE_EXPAND);
HTREEITEM hChild = this->GetChildItem(hItem);
while (hChild)
{
ExpandTree(hChild);
hChild = this->GetNextSiblingItem(hChild);
}
}
void CMyTreeCtrl::ExpandAllTree()//展开该树的所有项
{
HTREEITEM hRoot = this->GetRootItem();
ExpandTree(hRoot);
}
void CMyTreeCtrl::CollapseTree(HTREEITEM hItem)//收起树中的某一项
{
this->Expand(hItemTVE_COLLAPSE);
HTREEITEM hChild = this->GetChildItem(hItem);
while (hChild)
{
CollapseTree(hChild);
hChild = this->GetNextSiblingItem(hChild);
}
}
void CMyTreeCtrl::CollapseAllTree()//收起该树的所有项
{
HTREEITEM hRoot = this->GetRootItem();
CollapseTree(hRoot);
}
void CMyTreeCtrl::CheckSubItems(HTREEITEM hParentBOOL bCheck)
{
TreeView_SetCheckState(this->m_hWndhParentbCheck);
HTREEITEM hItem = TreeView_GetChild(this->m_hWndhParent);
while(hItem)
{
CheckSubItems(hItembCheck);
hItem = TreeView_GetNextSibling(this->m_hWndhItem);
}
}
HTREEITEM CMyTreeCtrl::FindItem(HTREEITEM hItem CString strText)//在某项及其子项中查找内容返回匹配项的HTREEITEM否则返回NULL
{
HTREEITEM hFind;
if(hItem == NULL)
return NULL;
while(hItem != NULL)
{
if(GetItemText(hItem) == strText)
return hItem;
if(ItemHasChildren(hItem))
{
hItem = GetChildItem(hItem);
hFind = FindItem(hItemstrText);
if(hFind)
{
return hFind;
}
else
{
hItem = GetNextSiblingItem(GetParentItem(hItem));
}
}
else
{
hItem = Get
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-02-08 10:19 MyTreeCtrl\
文件 3719 2012-02-08 10:18 MyTreeCtrl\MyTreeCtrl.cpp
文件 871 2012-02-03 16:01 MyTreeCtrl\MyTreeCtrl.h
- 上一篇:arduino控制57步进电机
- 下一篇:聚英调试助手 V1.3.zip
相关资源
- vc多个封装类方便编程
- JPEG图像压缩VC代码实现
- spring+mybatis+springmvc+ajax简单聊天室
- VC中GDI方法在Picture控件中显示PNG、b
- springmvc4+spring4+hibernate5.1.3+二级缓存
- 间接平差编程
- 介绍uC/OS-II移植到VC的pdf
- 天津科技大学校园导游
- 基于PSO移动机器人路径规划算法
- VC实现teechart时间轴自右向左推移
- vc网卡流量监控网速监控(GetIfTable)
- springMVC配置连接数据库实现登录功能
- vc需要的psapi.h和psapi.lib
- 基于TMS320VC5402的语音信号采集系统设
- VC的MSCOMM控件
- BMP图像信息隐藏vc实现
- 自己分装的一个winhttp类
- devcon.exe(32位,64位)驱动安装卸载工
- 小型公司工资管理系统设计
- VC中利用多线程技术实现线程之间的通
- 基于MVC的网上书店
- 软件的层架构设计详解
- SpringSpringMVCmybatis电商项目实战教程
- VC编程实现使用WinInet通过HTTP协议读取
- 整车控制器和电机控制器通讯协议
- maven+spring4+springmvc+redis实现分页
- VC2015及2017下可以使用的CButtonST
- VMware vsphere6.5_keygen,VCSA6.5_keygen (E
- F16运动仿真模拟
- sc_client_control_interface_tcp_vcpp
评论
共有 条评论