Hallo zusammen!
Ich habe ein problem mit den Itemgrafiken vom VST. Column 0 wird richtig gezeichnet. In Column 2 zeichnet er 2 Image übereinander und ich weis nicht warum!
zur Verdeutlichung habe ich mal ein Screenshot angehängt. Er zeichnet ein gelbes Exclamation Icon, wie er es auch sollte, darüber jedoch noch ein grünes Status Icon. Meine Paintroutine sieht so aus.
Delphi-Quellcode:
procedure TForm1.vstGetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
var Ghosted: Boolean; var ImageIndex: Integer);
var
daten:TOMeineDaten;
begin
daten:=TOMeineDaten(vst.GetNodeData(node)^);
case column of
0:begin //rausnehmen hat nichts gebracht
if daten.Dateiname='Verzeichnis' then imageindex:=2;
if ((daten.ADSName=':Zone.Identifier') and (daten.ADSSize='26 Byte ')) or ((daten.Dateiname='Thumbs.db') and (daten.ADSName=':encryptable') and(daten.ADSSize='0 Byte ')) then ImageIndex:=0 else if ImageIndex<>2 then ImageIndex:=1;
end;
2: if daten.Executable then imageindex:=4; <-- Problem! es werden 2 Image gezeichnet, obwohl der Index eindeutig ist.
end;
end;