如何实现treeview.......? 我做了一个treeview操作树,现在我想在我的程序主菜单中关联这个树结构的操作(比如在树结构中有一个数据远传管理项,然后我在主菜单中有一个数据管理项,怎样实现点击菜单中的数据管理项,等同于树结构中的数据管理项),不能用treeview1.item[1].selected:=true;因为如果这样的话,我要是在树结构中加了一项,这个数字就变了,有没有其他好办法呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以给每个节点分配Data值,然后再点击菜单时只要查找相应的的Data值即可。 转载我这个函数可以实现对某个分支的遍历,如果你想遍历整个TreeView,用Count和AbsoluteIndex做个循环就可以了,就不用什么遍历了,看看对你是否有用。procedure TForm1.Ransack(iParentIndex : Integer); //iParentIndex是你所要遍历的那个分支的 //根节点的绝对序号,就是该节点的AbsoluteIndex属性var ParentNode, ChildNode, TempNode : TTreeNode; //父节点 子节点 临时中转节点begin ParentNode := TreeView1.Items.Item[iParentIndex]; ChildNode := ParentNode.getFirstChild; while ChildNode <> nil do //找到第一个子节点了 begin //----------------------------- Memo1.Lines.Add(ChildNode.Text); //这里是找到子节点后你的处理代码 //----------------------------- TempNode := ChildNode.getFirstChild; if TempNode <> nil then //如果还有子节点,则递归 begin Ransack(ChildNode.AbsoluteIndex); end; TempNode := ChildNode; ChildNode := ParentNode.GetNextChild(TempNode); end;end; 我已经给data赋值了,然后怎样查找呀? to:(AWolfBoy(龍行江湖))赋值都错了,怎么赋值呀?能不能说得清楚一些呀 要用Pointer进行强制转换。例: testNode.Data := Pointer(menucaption); testNode.Data :=pointer(10)这样是不是可以,还有怎样取出来?testNode.Data^这样好像取不出来呀, socket 自定应用层协议 pageControl 的tabsheet界面能否拖动? 一个特弱的动态链接库调用问题 救急阿~~~有关intraweb 请大虾们帮忙。。。我最近开始学习delphi 6,但是以前没有接触过,请大家来说说从那里开始学起。谢谢大哥大姐们... 关于'panel'的问题 高薪找人回答问题 在同一目录中复制文件并改名 DELPHI FASTREPORT 内部代码 计论一下政府采购案对程序员的影响? csdn 没有人会,到大富翁去了>>>>>>>>>>>>>>> DBGRID中绘制图片
我这个函数可以实现对某个分支的遍历,如果你想遍历整个TreeView,用Count和AbsoluteIndex做个循环
就可以了,就不用什么遍历了,看看对你是否有用。
procedure TForm1.Ransack(iParentIndex : Integer);
//iParentIndex是你所要遍历的那个分支的
//根节点的绝对序号,就是该节点的AbsoluteIndex属性
var
ParentNode, ChildNode, TempNode : TTreeNode;
//父节点 子节点 临时中转节点
begin
ParentNode := TreeView1.Items.Item[iParentIndex];
ChildNode := ParentNode.getFirstChild;
while ChildNode <> nil do //找到第一个子节点了
begin
//-----------------------------
Memo1.Lines.Add(ChildNode.Text);
//这里是找到子节点后你的处理代码
//-----------------------------
TempNode := ChildNode.getFirstChild;
if TempNode <> nil then //如果还有子节点,则递归
begin
Ransack(ChildNode.AbsoluteIndex);
end;
TempNode := ChildNode;
ChildNode := ParentNode.GetNextChild(TempNode);
end;
end;
赋值都错了,怎么赋值呀?
能不能说得清楚一些呀
例:
testNode.Data := Pointer(menucaption);
这样是不是可以,还有怎样取出来?
testNode.Data^这样好像取不出来呀,