Delphi - Получить текущий индекс выбранного элемента в TListView.
У меня есть TListView в форме, и я хотел бы знать индекс выбранного элемента. Я попытался найти метод или свойство моего TListView, которое дает эту информацию, но единственное, что я нашел, было lvClients.Selected
и это не дает индекс этого элемента.
Может кто-нибудь помочь мне найти, как получить индекс выбранного элемента в моем TListView? Благодарю.
4 ответа
Используйте свойство ItemIndex.
Значение -1 указывает на отсутствие выбора.
Из документации:
Прочитайте ItemIndex, чтобы определить, какой элемент выбран. Первый элемент в списке имеет индекс 0, второй элемент имеет индекс 1 и т. Д. Если элемент не выбран, значение ItemIndex равно -1. Если элемент управления списком поддерживает несколько выбранных элементов, ItemIndex - это индекс выбранного элемента, который имеет фокус.
Использование Index
собственностью Selected
вещь
if lvClients.Selected <> nil then
index := lvClients.Selected.Index;
В событии щелчка () вы также можете перейти к столбцу с подпунктами:
TListview(sender).items[TListview(sender).itemindex].subitems[1]);
вы должны использовать его как таковой:TListViewItem(ListView1.Selected).Index
например:
procedure TfrmMain.ListView1ItemClick(const Sender: TObject;
const AItem: TListViewItem);
begin
{ Old usage was like this:
// Label1.Text := ListView1.Selected.Text;
}
// Now we have to cast it as such:
Label1.Text := TListViewItem(ListView1.Selected).Index;
// New usage of TListViewItem's selected item properties
{
TListViewItem(ListView1.Selected).ButtonText;
TListViewItem(ListView1.Selected).Text;
TListViewItem(ListView1.Selected).Index;
TListViewItem(ListView1.Selected).Detail;
...
}
end;