我用TreeView关联了ImageList控件,在程序中动态添加Node,可是我发现添加的Node都自动显示的图标都是ImageList控件中的第一个图片,我将Node的ImageIndex值设置为1或者2,都不管用,请问怎样在生成一个结点的时候就设定其对应的图标???

解决方案 »

  1.   

    你在添加结点的时候直接给它的imageIndex 赋值就行了如:
    var
      Node: TTreeNode;
    begin
      Node := TreeView1.Items.Add(nil, '根节点');
      Node.ImageIndex := 3;  //表示根节点的ImageIndex为3
      Node := TreeView1.Items.AddChild(Node, '子结点1');
      Node.ImageIndex := 4;  //子结点Node的ImageIndex为4
    end;也可以对指定的结点进行图片的设置的
      

  2.   

    ImageIndex 表示正常显示是的图片索引
      SelectedIndex 表示选择该结点时的图片索引
      StateIndex 表示状态图片的图片索引
      

  3.   

    var
      vTreeNode: TTreeNode;
    begin
      TreeView1.Images := ImageList1;
      vTreeNode := TreeView1.Items.AddChild(nil, 'hello');
      vTreeNode.ImageIndex := 1;
      vTreeNode.SelectedIndex := 1;
    end;