Имя пользователя:
Пароль:
 

Название темы: ListView в VB6
Показать сообщение отдельно

Новый участник


Сообщения: 3
Благодарности: 1

Профиль | Отправить PM | Цитировать


Вот процедура, которая сделает, то что тебе надо:
Код: Выделить весь код
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

Последний раз редактировалось MERDOCK, 11-05-2010 в 06:42.


Отправлено: 05:52, 11-05-2010 | #2

Название темы: ListView в VB6