资源简介
1、支持任意添加、修改、删除节点信息
2、支持节点间的任意拖曳
3、支持对操作结果的保存
4、提供了生产树的方法
附:执行程序和源代码
代码片段和文件信息
//---------------------------------------------------------------------------
#pragma hdrstop
#include “BuildTreeUnit.h“
//---------------------------------------------------------------------------
#pragma package(smart_init)
typedef struct TreeItem
{
String ItemCaption;
int NumID;
int ItemID;
String strMemo;
}TTreePoint;
/****************************************************************************
* 函数名称:FindKey
* 参数: String FieldName //父节点字段名
* int Index //匹配值
* TDataSet* DataSet //数据集
* 功能: 找到第一个匹配的记录
* 作者: 透明
* 日期: 2006-02-22
****************************************************************************/
bool __fastcall FindKey(String FieldName int Index TDataSet* DataSet)
{
bool ret;
TLocateOptions Opts;
Opts.Clear();
// 全匹配
Opts << loCaseInsensitive;
ret = DataSet->Locate(FieldName Index Opts);
return ret;
}
/****************************************************************************
* 函数名称:FindNext
* 参数: String FieldName //父节点字段名
* int Index //匹配值
* TDataSet* DataSet //数据集
* 功能: 查找下一个配置的记录
* 作者: 透明
* 日期: 2006-02-22
****************************************************************************/
bool __fastcall FindNext(String FieldName int Index TDataSet* DataSet)
{
bool ret;
DataSet->Next();
if (DataSet->Eof)
return false;
else
if (DataSet->FieldValues[FieldName] == Index)
ret = true;
else
ret = false;
if (!ret)
DataSet->Prior();
return ret;
}
/****************************************************************************
* 函数名称:GetChildNode
* 参数: int Index //当前节点ID
* TTreeNode* ANode //当前结点
* TTreeView* TreeView //构造树
* TDataSet* DataSet //提供结点数据的数据集
* 功能: 据构造当前结点的一级子树
* 作者: 透明
* 日期: 2006-02-22
****************************************************************************/
int __fastcall GetChildNode(int Index TTreeNode* ANode TTreeView* TreeView TDataSet* DataSet)
{
TTreeNode* Node;
TTreePoint* GlobalNode;
int ret = 0;
if (FindKey(“NodeID“ Index DataSet))
{
if (DataSet->Eof)
return -1;
do
{
Node = TreeView->Items->AddChild(ANode DataSet->FieldValues[“MenuItem“]);
Node->ImageIndex = 0;
Node->SelectedIndex = 1;
GlobalNode = new TTreePoint();
GlobalNode->NumID = DataSet->FieldByName(“ID“)->AsInteger;
GlobalNode->ItemID = DataSet->FieldByName(“NodeID“)->AsInteger;
GlobalNode->ItemCaption = DataSet->FieldByName(“MenuItem“)->AsString;
GlobalNode->strMemo = DataSet->FieldByName(“Memo1“)->AsString;
Node->Data = GlobalNode;
ret++;
}while (FindNext(“NodeID“ Index DataSet));
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4290 2008-12-22 09:33 BuildTreeUnit.cpp
文件 672 2008-12-22 09:33 BuildTreeUnit.h
文件 3982 2008-12-22 09:33 TreeOption.bpr
文件 1078 2008-12-22 09:33 TreeOption.cpp
文件 317440 2011-03-16 12:43 TreeOption.exe
文件 1536 2008-12-22 09:33 TreeOption.res
文件 10005 2008-12-22 09:33 TreeUnit.cpp
文件 51 2008-12-22 09:33 TreeUnit.ddp
文件 13596 2008-12-22 09:33 TreeUnit.dfm
文件 2331 2008-12-22 09:33 TreeUnit.h
文件 10369 2011-03-16 12:43 TreeOption.obj
文件 28661 2011-03-16 12:43 TreeUnit.obj
文件 13340 2011-03-16 12:43 BuildTreeUnit.obj
文件 204800 2009-03-04 13:51 mobile2006.mdb
文件 1638400 2011-03-16 12:45 TreeOption.tds
----------- --------- ---------- ----- ----
2250551 15
相关资源
- 数据结构实验——赫夫曼树相关
- 二叉树排序树建立及平衡处理
- 树莓派智能小车开发C语言源码
- 使用平衡二叉树管理的学生管理系统
- 决策树分类器ID3算法C语言
- 完整的C/C++时序的B+树数据库系统实现
- 用“破圈法”求解带权连通无向图的
- 家族成员信息管理系统
- VC++2012版Prim算法最小生成树动态演示
- 数据结构 图的最小生成树 C++描述 使
- 数据结构—课程设计家谱树管理系统
- 二叉树 VC6.0 MFC实现 数据结构
- 数据结构课程设计 山东大学版 文件
- MFC中的窗口分割和树形目录的创建
- 用C语言编写的分形树
- 二叉树的建立以及遍历
- 哈夫曼树MFC
- mfc树形控件201037
- C/C++文件系统树状结构
- 数据结构课程设计,最小生成树,采
- MFC二叉树遍历的可视化
- MFC树控件重绘
- Apriori和FP-Tree算法图形化实现+两个测
- C++版AVL树课程设计源代码
- 二叉排序树 建立 查询 删除
- 树形控件显示通讯录
- C语言 决策树 用c语言实现决策树
- 二叉树的生成与遍历mfc
- 决策树C4.5算法的c++实现
- 哈夫曼编码/译码器 完整版课程数据结
评论
共有 条评论