PDA

Показать полную графическую версию : ListView в VB6


Synthetyic_Man
03-05-2010, 10:10
Помогите пожалуйста с примером кода. Я начинающий в VB6 и у меня возникла трудность.
На форме ListView и кнопка. Нужно что бы при нажатии кнопки происходило поочередное выделение строчек в ListView, как будто бы ты щелкаешь мышью. Т.е. нажил один раз кнопку -выделилась верхняя строка и произошел клик, нажал еще раз кнопку -выделилась строка ниже и тоже по ней произошел клик и т.д. После того, как весь список будет пройден опять все повторялось по кругу. Спасибо!

MERDOCK
11-05-2010, 05:52
Вот процедура, которая сделает, то что тебе надо:
Private Sub NextItemSelect()
Dim Indx As Integer 'Индекс итема

'Проверка наличия итемов в ListView
If Me.ListView1.Items.Count = 0 Then Exit Sub

'Если ни один из итемов не выбран то
If Me.ListView1.SelectedItems.Count = 0 Then

'выбираем индекс первого итема
Indx = 0

Else 'А если выделен какой-то итем то
'Если выбранный итем является последним то
If Me.ListView1.SelectedItems(Me.ListView1.SelectedItems.Count - 1).Index >= Me.ListView1.Items.Count - 1 Then
Indx = 0
Else 'Иначе получаем [индекс последнего итема]+1
Indx = Me.ListView1.SelectedItems(Me.ListView1.SelectedItems.Count - 1).Index + 1
End If

End If
'Снимаем выделение со всех итемов
Me.ListView1.SelectedItems.Clear()

'Теперь просим ListView выделить нужный нам итем
Me.ListView1.Items(Indx).Selected = True

'Просим показать выбранный элемент, выполняя прокрутку
Me.ListView1.Items(Indx).EnsureVisible()

'Переводим фокус на ListView
Me.ListView1.Select()
End Sub




© OSzone.net 2001-2012