Hallo, ja das hat funktioniert!
Nur bei der GetIndexAtPos() muss man noch die Größen der darüber platzierten Elemente beachten, sonst kommt es zu fehlerhaften Rückgaben.
Delphi-Quellcode:
function GetIndexAtPos (LV: TListView;
TP: TPointF): Integer;
var
I: Integer;
TR: TRectF;
HeightOfElementAbove : Single;
begin
HeightOfElementAbove := 0;
if Element.Visible
then HeightOfElementAbove := Element.Height;
TP.Y :=
TP.Y - HeightOfElementAbove;
Result := -1;
for I := 0
to LV.Items.Count-1
do begin
TR := LV.GetItemRect (I);
if TR.
Contains (
TP)
then begin
Result := I;
Break;
end;
end;
end;