treeview右健功能,请高手指点!!!!(10分)

  • 主题发起人 主题发起人 涛子
  • 开始时间 开始时间

涛子

Unregistered / Unconfirmed
GUEST, unregistred user!
我正作一软件
里面要求对数据库进行多层操作
还要求点右健时有复制,粘帖等功能
如何对它进行复制,粘贴,
用treeview可以实现吗?
还是用别的控件(外部的)更容易实现,
请高人指点!!!!!
 
用TreeView挺好的啊。
 
如何实现我上面所说的功能
请指点一二!!!!
 
你上学的时候有没有学过如何用链表实现二叉树啊?
 
学过
不太精
请楼上的那位指点一下啦
对treevidw这个控件
 
任何树都有插入节点和删除节点两种基本操作。
创建树时,可以使用递归算法,即
procedure NewTreeNode(节点,数据);
var
NewNode:TNode;
begin
在给出的“节点”下插入一个子节点,保存在NewNode中,数据域赋值为“数据”;
 查找“数据”是否还有子数据,如果有,则
 for i:=1 to 子数据个数 do
NewTreeNode(NewNode,子数据);
end;

这样就建立了树。

复制粘贴,其实就是按照原来的子树依次创建节点,仿照上面的程序,只是不从数据库中读data了,
改从要复制的树中来读。
 
谁能给得更详细一点的?
 
这是我程序的一部分你看看吧:
这是粘贴事件
procedure TTreeFrame.PasteItemClick(Sender: TObject);
var
DNode: TTreeNode; //目标节点
AttachMode: TNodeAttachMode; //移动方式
HT: THitTests; //目标鼠标在树上的位置
begin
if FCutNode<>nil then
begin
HT := TreeView.GetHitTestInfoAt(FPoint.X, FPoint.Y);//Ffpoint是当前鼠标位置
DNode := TreeView.GetNodeAt(FPoint.X, FPoint.Y);
FPastNode:=DNode;
if (HT - [htOnItem, htOnIcon, htNowhere, htOnIndent] <> HT) then
begin
if (htOnItem in HT) or (htOnIcon in HT) then AttachMode := naAddChild
else if htNowhere in HT then AttachMode := naAdd
else if htOnIndent in HT then AttachMode := naInsert;
FCutNode.MoveTo(DNode, AttachMode);
end;
end;
end;
//在复制事件中 FCutNode保存当前要复制的节点
FCutNode := treeview1.selected
 
不好意思
有段时间没上了
是该发分的时候了
to 玄成
你的代码
我看不太明白
不过分还是给你了
你有好的dbtreeview 控件吗?
 
后退
顶部