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就有可能发生图标重叠。