关于ttreeview的几个小问题(100分)

  • 主题发起人 风云再起
  • 开始时间

风云再起

Unregistered / Unconfirmed
GUEST, unregistred user!
1:
procedure AddGroupItem(FTreeView: TTreeView; const FUserName: string);
var
MyTreeNode, MyTreeNodeChild: TTreeNode;
begin
MyTreeNode := nil;
with FTreeView.Items do
begin
MyTreeNode := Add(MyTreeNode, FUserName);
MyTreeNode.ImageIndex := 0;
MyTreeNodeChild := AddChild(MyTreeNode, '受件箱');
MyTreeNodeChild.ImageIndex := 1;
MyTreeNodeChild := AddChild(MyTreeNode, '发件箱');
MyTreeNodeChild.ImageIndex := 2;
MyTreeNodeChild := AddChild(MyTreeNode, '已发送邮件箱');
MyTreeNodeChild.ImageIndex := 3;
MyTreeNodeChild := AddChild(MyTreeNode, '废件箱');
MyTreeNodeChild.ImageIndex := 4;
end;
end;
这一段代码语法上没任何错误,但是,当你点击子结点时,他的图标跟父图标一样,为什么?
2:
procedure NextItem(FCurrentItem:TTreeNode);
var
FTreeNode:TTreeNode;
begin
if FCurrentItem.Parent=nil then//没有父结点了
FTreeNode:=FCurrentItem.getNextSibling;//得到同一层次的下一个结点
if FTreeNode<>nil then
FCurrent.MoveTo(FTreeNode,naInsert);
end;
编译通过,getNextSibling是得到同一层次上的下一个结点,但结果什么也没实现??
 
1、设置Node.SelectedIndex
2、我也碰到过这个问题,我使用node.getnext,并使用node.level判断是否同一节点
 
同意楼上的兄弟
 
不同的Level加一句:
MytreeNodeChild.SelectedIndex:=1;
....
MytreeNodeChild.SelectedIndex:=4;以表示选中时候的图标
 
同楼上的
改变Node.SelectedIndex属性
 
呵呵,差不多了。
建立一个Node的时候要给两个图标Index给他
RootItem.ImageIndex := 0; //静态显示
RootItem.SelectedIndex := 0; //选中时显示
 
多人接受答案了。
 
顶部