需要做成下面TreeView样子,图标应如何动态加载,英文字母表示图标
....A 主板    (此行代表类别,从数据库中抓取Kind)
  |....A 华硕845PE     (此叶代表商品,从数据库中抓取Goods)
  |....A 微星6139
....B 芯片
  |....B Intel Pentium 4 2.0G
  |....B Intel Pentium 4 1.4G
等等...最好类别的图标索引值是由类别表中类别图标字段的值决定,比如:主板在类别表中图标字段<Kind_IconId>值为3,那么主板在TreeView中的Images index值为3.

解决方案 »

  1.   

    节点是个TTreeNode,有Images属性,可以在添加节点的同时指定。
      

  2.   

    //TreeView列表
    TreeView1.Items.Clear;
    ADOkind.Close;
    ADOkind.Sql.clear;
    ADOkind.Sql.add('select * from kind ');
    Try
    begin
      ADOkind.Open;
      while not ADOkind.eof do
      begin
         a:=TreeView1.Items.Add(nil,ADOkind.fieldbyname('kind_Name').AsString);
         ADOTreeView.close;
         ADOTreeView.sql.clear;
         ADOTreeView.sql.add('select * from product where prod_kind=:prod_kind');
         ADOTreeView.Parameters.ParamByName('prod_kind').Value:=adoKind.fieldbyname('kind_Id').AsString;
         ADOTreeView.open;
         while not ADOTreeView.eof do
         begin
           TreeView1.Items.AddChild(a,ADOTreeView.fieldbyname('prod_name').AsString);
           ADOTreeView.next;
         end;
         ADOKind.next;
      end;
    end;
    except
      On E:Exception do
      begin
        Application.MessageBox(pchar(E.message),'提示信息',MB_OK or MB_ICONWARNING);
        Exit;
      end;
    end;如何在这段代码如何动态加载图标?上面的"A","B"就是代表图标
      

  3.   

    在你想用A图的位置加节点时
            Snode:=TreeView1.Items.AddChild(Pnode,myName);
            Snode.ImageIndex:=3;
    Pnode是父节点,Snode是子节点。做个ImageList放入图就行了。