请问在TreeView怎样给根节点和节点和子节点分别添加上不同的图标。最好有实例。

解决方案 »

  1.   

    procedure TMainForm.addObject(tv:TTreeView ;ADOObjects:TADODataSet;
              strSQLText:string;ImageIndex1,ImageIndex2 :integer);
    var
      RootNode,Node:TTreeNode;
      strObjName :string;
    begin
      RootNode := tv.Items.add(nil,strObjType);
      RootNode.ImageIndex :=ImageIndex1;
      RootNode.SelectedIndex :=ImageIndex1;  ADOObjects.CommandText := strSQLText;
      ADOObjects.Active := true;
      while not ADOObjects.Eof do
      begin
        strObjName:= ADOObjects.Fields[0].AsString ;
        Node := tv.Items.AddChild(RootNode,strObjName);
        Node.ImageIndex := ImageIndex2;
        Node.SelectedIndex := ImageIndex2;
        ADOObjects.Next;
      end;
      ADOObjects.Close;
    end;
      

  2.   

    注意在使用楼上的时候要
    树的images要设置为ImageList1,ImageList1中要先有图片
      

  3.   

    procedure TMainForm.addObject(tv:TTreeView ;ADOObjects:TADODataSet;
              strSQLText:string;ImageIndex1,ImageIndex2 :integer);
    var
      RootNode,Node:TTreeNode;
      strObjName :string;
    begin
      RootNode := tv.Items.add(nil,strObjType);
      RootNode.ImageIndex :=0;
      RootNode.SelectedIndex :=1;  ADOObjects.CommandText := strSQLText;
      ADOObjects.Active := true;
      while not ADOObjects.Eof do
      begin
        strObjName:= ADOObjects.Fields[0].AsString ;
        Node := tv.Items.AddChild(RootNode,strObjName);
        Node.ImageIndex := 2;
        Node.SelectedIndex := 3;
        ADOObjects.Next;
      end;
      ADOObjects.Close;
    end;//
    另:
      TreeView.ImageList := ImageList1;----------------------------------------------------------
    事太多、心太乱