请问使用TTreeView控件时,单击其中的树型结点,触发OnChange事件,想根据它的Node参数的StateIndex属性返回序数值,为什么总是返回"-1"。即定义一个整型变量n,在OnChange事件中执行这个语句"n := Node.StateIndex;" ,不论是单击哪一个结点,可n总是为"-1"。请问这是怎么回事?怎样让它返回相应的正确的序数?

解决方案 »

  1.   

    StateIndex是当前节点ImageIndex,总是-1?
      

  2.   

    应该是StateImage的ImageIndex,我这里很正常阿,你设置了StateImages没有?
      

  3.   

    呵呵,把树的Images属性设置一下,关键是在添加节点时设置TTreeNode.StateIndex属性。
      

  4.   

    Node.SelectedIndex是干什么的,它有什么用?
      

  5.   

    SelectedIndex应该是选中的节点的序号,详细的看帮助,呵呵
      

  6.   

    以下所有Index都是TreeView关联的Imagelist中图标的Index
    SelectedIndex: TreeNode选中时显示的图标StateIndex: Indicates which image from the StateImages list to display for the node.  这个没怎么用过(我一般都不设),没看懂什么意思ImageIndex: TreeNode普通状态的图标