Страница: 1 |
Страница: 1 |
Вопрос: Как сделать поиск через TextBox в ListBox?
Добавлено: 10.12.06 19:24
Автор вопроса: Oleksiyko
Как сделать поиск через TextBox в ListBox?
У меня есть на форме TextBox и ListBox. В ListBox например такие слова "слово1, слово2, слово3, слово4, слово5". Как сделать чтобы когда я вводил в TextBox слово
"слово3" оно выделялось в ListBox?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #1
Добавлено: 10.12.06 20:04
самый простой способ перебором. а большой список?
Номер ответа: 2
Автор ответа:
Oleksiyko
Вопросов: 7
Ответов: 4
Профиль | | #2
Добавлено: 10.12.06 20:36
Да больше 100, и состоит из английских слов
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 11.12.06 02:25
отсортируй их и ищи бинарным поиском
Номер ответа: 4
Автор ответа:
Stars
Вопросов: 41
Ответов: 239
Профиль | | #4
Добавлено: 12.12.06 15:53
a$ = Text1.Text: Flag = 0
For i = 0 To List1.ListCount - 1
If List1.List(i) = a$ Then Flag = 1: List1.ListIndex = i: Exit For
Next
If Flag = 0 Then
MsgBox "Ничего не найдено!", vbInformation, "Поиск"
End If
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 13.12.06 10:38
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_FINDSTRING = &H18F
Private Sub Command1_Click()
Dim RetVal As Long
RetVal = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal Text1.Text)
List1.ListIndex = RetVal
End Sub
Private Sub Form_Load()
Dim i As Long
For i = 1 To 25
List1.AddItem "Item" & i
Next i
End Sub
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 13.12.06 10:40
Да, и поставь проверки на результат. Если ничего не найдено - вернет LB_ERR.
ЗЫ posts++
Номер ответа: 7
Автор ответа:
Stars
Вопросов: 41
Ответов: 239
Профиль | | #7
Добавлено: 13.12.06 15:40
Прикольно!