Also fogendes Scenario: ein TForm1, darauf TTreeView, TimageList, TTreeView.Images ist mit TImageList verknüpft. TImageList hat 2 Images, also nur Werte 0 und 1 sind für "ImageIndex" gültig.
TTreeView.OnMouseMove ist so implementiert:
Delphi-Quellcode:
var
TreeNode: TTreeNode;
begin
TreeNode := TreeView1.GetNodeAt(x, y);
if TreeNode<>nil then
begin
TreeNode.Selected := True;
Caption := IntToStr(TreeNode.ImageIndex);
end;
end;
Dabei kann ich sehen, dass TreeNode.ImageIndex immer von mir gestellte und gewünschte Werte hat. Aber es wird an der Stelle von der aktuel selektiete TreeNode immer ein falsches Image gezeichnet. (siehe Bild). Woran könnte es liegen?