Работа с выделением в ListView

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Работа с выделением в ListView

Сообщение |kerish| » 23.01.2005 (Вс) 15:43

Как работать если в ListView выделено больше одного элемента?
Обьект SelectedItem выдает ошибку.
Может кто встречался?

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 23.01.2005 (Вс) 22:29

SelectedItem тут похоже не поможет. Только если тупым перебором всех элементов.
Код: Выделить всё
If ListView1.SelectedItem Is Nothing Then
MsgBox "Ничего не выделено."
Else
  Dim strMsg As String
  Dim item As ListItem
  Dim items As Integer
  For Each item In ListView1.ListItems
    If item.Selected Then
      strMsg = strMsg & item.Text & vbCrLf
      items = items + 1
    End If
  Next item
  MsgBox ("Выделено " & CStr(items) & ":" & vbCrLf & strMsg)
End If

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 24.01.2005 (Пн) 20:01

Ужасно :(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.01.2005 (Вт) 4:52

Посылай ему LVM_GETNEXTITEM с флагом LVNI_SELECTED. Сначала номер айтема подставляй -1, потом - то, что вернулось в прошлый раз. Так узнаешь все номера выделенных...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 14

    TopList