TreeNode1.ImageIndex := i; //i is the index of the image in you ImageList;
解决方案 »
- edit与listview的配合录入问题
- 大富翁论坛没人回答的Qreport问题 ? 附带 vclskin控件引发的Qreport问题
- fei19790920(饭桶的马甲(抵制日货))请进,按下ctrl+alt+del后,hook失效!
- 管理員考試的問題,很急啊。。謝謝了, 在線等,急
- 转换日期格式后我的日期过滤功能竟然不能用了,请问怎样修正,前辈门
- 高分儿,兄弟们看过来
- ZwQuerySystemInformation是个啥东西,
- 300分求购备份与还原实现的程序方法
- 请问用bde做的数据库用is for delphi做成应用程序需要在BDE中怎样设置
- 数据库一问
- 请问如何将数据库不同的表建立关联!
- 关于SQL语句!
首先:如果你只是要你所选择的node变成另外的图标, selected.imageIndex:=i;
如果你想在第2层全是,循环 for ... begin if TreeNode.level=i then
TreeNode.imageIndex:=i
end;
得到该节点的handle,其实在你add节点的时候就已经返回了
在CustomDraw中自己画。
在CustomDraw中自己画。
YTreeNode:=TreeView.items.addchild(nil,'hehe');
如果是:加的时候,使用相应的图标索引! if Name="驱动器" then imageindex=xxxx
else
.....如果不是,这些节点怎么来得??说详细!
经过就是这样的,谢谢您!!
使用API!具体看帮助!MSDN或者CB 的Win32 api说明!
SHGetFileInfo(p, 0, SHFI, SizeOf(SHFI), $400 or $200 or $100 or 4 or 1);
IconHandle:=SHFI.hIcon;
if IconHandle<>0 then
begin
hn := Hash.GetIndex(SHFI.szTypeName);
if (hn = -1) or (strcomp(SHFI.szTypeName,'Application')=0) or (strcomp(SHFI.szTypeName,'Icon')=0) then
begin
Icon:=TIcon.Create;
Icon.Handle:=IconHandle;
TSI.ImageIndex:=Images.AddIcon(Icon);
Icon.Free;
Hash.AddItem(SHFI.szTypeName, pointer (TSI.ImageIndex));
end else TSI.ImageIndex:=integer(Hash.GetByIndex(hn));
TSI.StateImageIndex:=TSI.ImageIndex;
end;