Hi,
kleiner Bugreport: wenn man per OnGetImageIndex ein Image zuweist und das NodeAlignment <> naProportional setzt, wird das Image überhaupt nicht gezeichnet.
Ziel war es, ein Image top-aligned zu zeichnen (z.B. in einer MultiLine Zeile per ivsMultiline).
Ich finde auch kein geeignetes Event mehr, die Position des Image manuell anzupassen. Als Abhilfe funktioniert nur das manuelle Zeichnen per OnAfterCellPaint oder eine Ableitung der Klasse mit override für PaintImage().
Delphi-Quellcode:
procedure TVirtualTreeEx.PaintImage(var PaintInfo: TVTPaintInfo;
ImageInfoIndex: TVTImageInfoIndex; DoOverlay: Boolean);
begin
// draw node images top aligned (instead of centered, use same margin as text)
if Multiline[PaintInfo.Node] then
PaintInfo.ImageInfo[ImageInfoIndex].YPos := TextMargin;
inherited;
end;
Gruß Assertor