Es gibt doch noch ein Problem: Aus verschiedenen Gründen bin ich darauf angewiesen, meine Verarbeitungen im Ereignis OnSelectItem durchzuführen (wobei ItemIndex nicht -1 sein soll). Da nun aber OnSelectItem VOR OnClick ausgeführt wird, ist ItemIndex beim Klick auf eine freie Fläche immer noch auf -1 und wird erst nachher im Ereignis OnClick korrigiert.
Wenn ich nun aber versuche, einen ähnlichen Mechanismus in OnSelectItem einzubauen, so funktioniert das leider nicht:
Delphi-Quellcode:
procedure TForm1.ListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
with ListView do
begin
if Assigned(ItemFocused) and (ItemIndex = -1) then
begin
ItemIndex := ItemFocused.Index;
end;
end;
if ListView.ItemIndex = -1 then
Windows.Beep(Random(100) + 150, 300);
end;