Страница: 1 |
Страница: 1 |
Вопрос: ListView
Добавлено: 10.12.07 22:05
Автор вопроса: ZeroHour | ICQ: 397113309
Привет всем!!!
Вопрос таков: есть ListView, как сделать так что-бы отмечиние items перенести в textbox?
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #1
Добавлено: 11.12.07 03:41
russian plz
Номер ответа: 2
Автор ответа:
Mr.Smile
ICQ: 427682013
Вопросов: 14
Ответов: 464
Профиль | | #2
Добавлено: 11.12.07 12:01
Перебрать в цикле каждую item и проверять на наличие галочки. Если галочка есть то добавляй item в textbox.
Номер ответа: 3
Автор ответа:
Docal
ICQ: 408802757
Вопросов: 9
Ответов: 147
Профиль | | #3
Добавлено: 11.12.07 17:44
вот на примере listbox
For I = 0 To List1.ListCount - 1
If List1.Selected(I) = True Then
Text1.Text = Text1.Text + List1.List(I) + vbCrLf
End If
Next I
Номер ответа: 4
Автор ответа:
ZeroHour
ICQ: 397113309
Вопросов: 2
Ответов: 3
Профиль | | #4
Добавлено: 11.12.07 20:12
вот подсказали такой способ:
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Selected = True Then
Label1.Caption = Label1.Caption & ListView1.ListItems(i).Text
End If
Next i
Номер ответа: 5
Автор ответа:
ZeroHour
ICQ: 397113309
Вопросов: 2
Ответов: 3
Профиль | | #5
Добавлено: 11.12.07 20:13
вот подсказали такой способ:
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Selected = True Then
Label1.Caption = Label1.Caption & ListView1.ListItems(i).Text
End If
Next i
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 11.12.07 20:45
Придумал адванст-способ
sne непомерно крут, код написан под влиянием его класса листвью)
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LVM_FIRST As Long = &H1000
Private Const LVM_GETNEXTITEM As Long = (LVM_FIRST + 12)
Private Const LVIS_SELECTED As Long = &H2
Private Sel As Long
Private Sub Form_Load()
Dim i As Long
For i = 0 To 99
lv.ListItems.Add , , i
Next i
End Sub
Private Sub lv_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Text1 = ""
Sel = -1
Do
Sel = SendMessage(lv.hWnd, LVM_GETNEXTITEM, Sel, ByVal LVIS_SELECTED)
If Not Sel = -1 Then Text1 = Text1 & lv.ListItems(Sel + 1) & vbNewLine Else Exit Do
Loop
If Text1 <> "" Then Text1 = Left(Text1, Len(Text1) - 2)
End Sub
Номер ответа: 7
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #7
Добавлено: 11.12.07 20:46
lv - это ваш ListView
Text1 - TextBox (MultiLine=True)
Номер ответа: 8
Автор ответа:
VerhoLom
Вопросов: 20
Ответов: 285
Профиль | | #8
Добавлено: 16.12.07 15:56
Dim li As ListItem
TextBox1.Text = ""
For Each li In ListView1.ListItems
If li.Checked = True Then
TextBox1.Text = TextBox1.Text & li.Text & vbCrLf
End If
Next
Номер ответа: 9
Автор ответа:
VerhoLom
Вопросов: 20
Ответов: 285
Профиль | | #9
Добавлено: 16.12.07 16:02
Тут немного понапутали: надо узнать, СТОИТ ЛИ ГАЛКА возле ЛистИтема (ListView1.Checkboxes=True), а не проверять, выделен ли он или нет при разрешенном множественном выделении (ListView1.MultiSelect=True)