TcxTreeList 的问题。难为了 4,5个小时了。请大家帮忙!!

handsy 2008-11-23 09:13:31
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[i].ID; //ID
CategoryInfoNode.Values[1] := CategoryInfoList[i].Name; //名字
CategoryInfoNode.Values[2] := CategoryInfoList[i].IconID; // 图片在imagelist 里的的ID
//根据ID 获得BMP
CategoryBMP := TBitmap.Create;
if FrmMainForm.ImgListCateGory.GetBitmap(CategoryInfoList[i].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;

图片就是显示不出来。 哪位高人能够指点一下。 谢谢了。 
...全文
264 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
火龙岛主 2008-11-24
  • 打赏
  • 举报
回复
不是variant类型匹配了就会显示图片,variant类型仅仅包含基本的数据类型,并不包括TBitmap或者是TGraphic等类似类型。
我认为你应该换一下思路,转换成具体的picture格式。
handsy 2008-11-24
  • 打赏
  • 举报
回复
问题已经解决。 和大家分享一下

列类型还是image .
建立一个tcximage 的对象。然后把图片加载进去。
这个对象有一个属性。tcximage.editvalue 。 直接就把图片用variant输出。
node.value[imagecolumnindex] := tcximage.editvalue .
就可以了
handsy 2008-11-23
  • 打赏
  • 举报
回复
自己顶一下
内容概要:本文围绕四旋翼飞行器在悬停状态下的控制问题,系统性地对比研究了三种经典控制策略——比例积分微分(PID)、线性二次型调节器(LQR)和模型预测控制(MPC)在响应品质与计算代价之间的权衡。研究基于四旋翼的线性化数学模型,分别设计并实现了这三种控制器,并依托Matlab仿真平台,对其控制性能(包括响应速度、稳定精度、抗干扰能力等动态特性)和计算资源消耗(涵盖运算时间、算法复杂度等实时性指标)进行了定量评估与基准测试。文章通过详尽的仿真数据分析,揭示了不同控制方法在性能表现与计算开销上的内在矛盾,旨在为无人机控制系统的设计者提供科学的选型依据,阐明各类控制范式在实际工程应用中的适用边界与优化方向。; 适合人群:具备自动控制理论基础、飞行器建模与仿真经验的研究生、科研人员及自动化、航空航天领域的工程师。; 使用场景及目标:① 掌握四旋翼飞行器线性化动力学建模方法;② 学习并对比PID、LQR、MPC三种控制器的设计流程与实现技巧;③ 深入理解控制系统中“响应品质”与“计算代价”这一核心矛盾,并学会进行工程权衡;④ 利用提供的Matlab代码进行复现、验证和进一步研究,以巩固理论知识并提升实践能力。; 阅读建议:此资源以Matlab代码实现为核心支撑,强调理论与实践的紧密结合。读者应在深入理解每种控制算法基本原理的基础上,重点动手运行和调试所提供的代码,通过修改关键参数、对比不同控制器的仿真结果来深化对各控制策略性能差异与适用场景的认识,从而真正掌握控制系统的分析、设计与优化方法。

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧