先把TreeView的Image指定个ImageList,
然后对增加的结点可以设置图标,ImageIndex就是在ImageList的位置。
如:
  Node := TreeView1.Items.AddChild(nil,'测试');
  Node.ImageIndex := 0;
  Node.SelectedIndex := 0;

解决方案 »

  1.   

    可参考如下片段:
    procedure AddNode(sText:String;PreNode:TTreeNode);
    var
      CurItem:TTreeNode;
    begin
      TreeView1.Images:=ImageList1;
      CurItem:=TreeView1.Items.AddChild(PreNode,sText);
      CurItem.ImageIndex:=1;
    end;
      

  2.   

    为Treeview的images指定一个
    Timagelist,其中包括两张图片(0:openbook;1:closebook)。然后,对Treeview的Items进行编辑,对每一个node指定imageindex=1,selectedindex=0;
    这样就好了。 
    这还有一段程序
    设置好TreeView的Images到一个ImageList上,我的例子上有16个图片,
    0--7是未展开时的图片
    8--15是展开时的图片
    tvMailBox是一个TreeViewprocedure TMainForm.tvMailBoxGetImageIndex(Sender: TObject;
      Node: TTreeNode);
    begin
      case GetCurrentID(Node) of
        RootBox   :Node.ImageIndex := 0;
        InBox     :Node.ImageIndex := 1;
        OutBox    :Node.ImageIndex := 2;
        SendedBox :Node.ImageIndex := 3;
        DeletedBox:Node.ImageIndex := 4;
        DraftsBox :Node.ImageIndex := 5;
      else
        Node.ImageIndex := 8;
      end;
      Node.StateIndex := Node.ImageIndex ;
    end;procedure TMainForm.tvMailBoxGetSelectedIndex(Sender: TObject;
      Node: TTreeNode);
    begin
      Node.SelectedIndex := Node.ImageIndex + 9;
    end;