TcxTreeList 的问题。难为了 4,5个小时了。请大家帮忙(100分)

  • 主题发起人 主题发起人 handong
  • 开始时间 开始时间
H

handong

Unregistered / Unconfirmed
GUEST, unregistred user!
TcxTreeList 我定义了4个列。
第一列式隐藏的。显示ID
第二列显示名称
第三列是隐藏的保存图片在imagelist 里的ID
第四列显示图片 。 把 properties 属性我设置成了image . 想要在这列里显示 图片。
手动往里面写数据。 可是图片就是显示不出来。下面是我的代码。 我如何更改 ?
图片时从imagelist 里面读出来的 。 每个语句后面我都加了一些注释。 
CategoryInfoGrid.Clear;
//CategoryInfoGrid 是TcxTreeList 列表
CategoryInfoList := TaskXML.GetAllCategory;
//获得所有的显示数据。 CategoryInfoList 是一个结构数组
for i := low(CategoryInfoList) to high(CategoryInfoList)do

begin

CategoryInfoNode := CategoryInfoGrid.Add;
CategoryInfoNode.Values[0] := CategoryInfoList.ID;
//ID
CategoryInfoNode.Values[1] := CategoryInfoList.Name;
//名字
CategoryInfoNode.Values[2] := CategoryInfoList.IconID;
// 图片在imagelist 里的的ID
//根据ID 获得BMP
CategoryBMP := TBitmap.Create;
if FrmMainForm.ImgListCateGory.GetBitmap(CategoryInfoList.IconID,CategoryBMP) then

begin

GraphStream := TMemoryStream.Create;
CategoryBMP.SaveToStream(GraphStream);
StrFunc.StreamToVariant(GraphStream, GraphVariant);
CategoryInfoNode.values[3] := GraphVariant;
end;

end;

procedure TStrFunc.StreamToVariant(Stream: TMemoryStream;
var v: OleVariant);
var
p : pointer;
begin

v := VarArrayCreate ([0, Stream.Size - 1], varByte);
p := VarArrayLock (v);
Stream.Position := 0;
Stream.Read (p^, Stream.Size);
VarArrayUnlock (v);
end;

图片就是显示不出来。 哪位高人能够指点一下。 谢谢了。 
 
自己顶下。 希望大家帮帮忙。
 
后退
顶部