(Gast)
n/a Beiträge
|
AW: VirtualStringTree - SHGetFileInfo hängt Programm auf / Canvas erlaubt kein Zeichn
10. Dez 2020, 22:03
Der Code da ist unwichtig, ist ein Fehler beim Kopieren passiert.
Es funktioniert ja ohnehin nicht, egal was ich mache und ob da jetzt eine Zuweisung fehlt.
Ich habe dieses Minimalbeispiel nur gebaut um grob zu zeigen wie alles aufgebaut ist. Und in der Hoffnung, dass ihr mir helfen könnt, SHGetFileInfo() dort richtig einzubauen.
So bekomme ich was angezeigt aber es ruckelt, zuckelt und führt sicher wieder zu fehlern.
Delphi-Quellcode:
procedure TForm1.VSTGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: TImageIndex);
var
Info: TSHFileInfo;
begin
if (not(Column in [0, 1])) or (not Assigned(TreeDataKlassen)) then
Exit;
if Kind in [ikNormal, ikSelected] then
begin
if TreeDataKlassen[Node^.Index].IconIndexSpalte1 = -1 then
begin
SHGetFileInfo(PChar(TreeDataKlassen[Node^.Index].PfadSpalte1), FILE_ATTRIBUTE_NORMAL, Info, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_ICON or SHGFI_SMALLICON) ;
TreeDataKlassen[Node^.Index].IconIndexSpalte1 := Info.iIcon;
end;
ImageIndex := TreeDataKlassen[Node^.Index].IconIndexSpalte1;
end;
end;
Ich kann.. warte noch ein kleines bisschen.
|
|
Zitat
|