TVirtualStringTree的图标状态重叠 procedure TfrmTaskManager.vstTasksGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer); var pNodeData: PTASK_ITEM_DATA; pTaskInfo: PDownLoadTaskInfo; pDownLoadTaskParamters: IVariantMap; begin case Kind of ikNormal, ikSelected: begin ImageIndex := II_STOP; end; IkState: exit; end; end; 今天遇到的问题是TVirtualStringTree在动态指定图标索引时会导致两个不同的图标重叠,研究发现需要指定状态。 通常只指定ikNormal, ikSelected。如果指定了IKState就有可能发生图标重叠。