delphi - 扩展节点时如何更改TVirtualStringTree节点图标

标签 delphi virtualtreeview tvirtualstringtree

这听起来像一个愚蠢的问题,但我尝试了所有我能想到的事情,但没有成功。扩展节点后,如何更改VirtualStringTree节点的图标图像。即当Node折叠时,我想显示一个关闭的文件夹图标,当它展开时,我想显示一个打开的文件夹图标。

在GetImageIndex中,我看不到如何判断节点是否扩展。 Kind只会告诉我何时选择它。

最佳答案

TBaseVirtualTree具有Expanded属性,用于检查给定节点是否扩展:

procedure TForm1.VTGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode;
          Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer);
begin
  if Sender.Expanded[Node] then begin
     ...
  end;
end;

关于delphi - 扩展节点时如何更改TVirtualStringTree节点图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52015619/

相关文章:

delphi - 更改 VirtualTreeView 中的拖动光标

delphi - 如何下载消息、存储它并在不同的文件夹中重新创建它?

delphi - (delphi 应用程序)发现错误的位置

delphi - VirtualStringTree - 存储的指针 <> 检索的指针!我的编码方法是否错误?

delphi - VirtualTreeView:编辑下一列

delphi - 如何使用 DragType dtOLE 将节点从 TVirtualStringTree 拖放到 VCL 控件中?

delphi - VirtualStringTree 对齐文本和网格线

delphi - 选择更改后如何检索 VirtualStringTree 中选定的节点?

delphi - TXMLNodeList 节点名称 #text

delphi - 如何将 TMemo 组件中的多行添加到 MS Access 数据库?