Народ помогите с поиском в листбокс

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
X-Team
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 25.09.2004 (Сб) 18:57

Народ помогите с поиском в листбокс

Сообщение X-Team » 25.09.2004 (Сб) 19:01

У меня есть listbox там всер рассартированно
по алфавиту
и есть Text проле для поиска
как можно сделать вот что
Ты пишешь букву "А" в Text и он ищет первое значение в листбоксе
Пишишь "АB" он ищет первое значение с АВ
и так далее
Взаранее благодарен

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.09.2004 (Сб) 19:25

Код: Выделить всё
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 Text1_Change()
    List1.TopIndex = SendMessage(List1.hWnd, LB_FINDSTRING, -1, ByVal Text1.Text)
End Sub
Изображение

X-Team
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 25.09.2004 (Сб) 18:57

Сообщение X-Team » 25.09.2004 (Сб) 21:08

Что то не получается можно по подробнее плийз

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 25.09.2004 (Сб) 21:15

не List1.TopIndex, а List1.ListIndex
Моду создают модоки, а распространяют модозвоны.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.09.2004 (Сб) 21:33

hCORe писал(а):не List1.TopIndex, а List1.ListIndex

А у меня именно прокрутка на подходящий элемент, а не его выделение.

Из-за одного только изменения TopIndex на ListIndex работать всё равно не начнёт :evil:


hCORe, подпись-то смени, раз QuickHTML уже переименован...
Изображение

X-Team
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 25.09.2004 (Сб) 18:57

Сообщение X-Team » 27.09.2004 (Пн) 19:07

Всеравно не получается вот что у меня 'Private Sub Text1_Change()
On Error Resume Next

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&
lstCheat.ListIndex = SendMessage(lstCheat.hWnd, LB_FINDSTRING, -1, ByVal Text1.Text)

End Sub'

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 27.09.2004 (Пн) 19:58

:?
Код: Выделить всё
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 Text1_Change()
lstCheat.ListIndex = SendMessage(lstCheat.hWnd, LB_FINDSTRING, -1, ByVal Text1.Text)
End Sub

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.09.2004 (Пн) 23:45

A.A.Z. писал(а)::?
Код: Выделить всё
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 Text1_Change()
lstCheat.ListIndex = SendMessage(lstCheat.hWnd, LB_FINDSTRING, -1, ByVal Text1.Text)
End Sub

Или, если выделение подходящего элемента всё же не нужно, то:
Код: Выделить всё
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 Text1_Change()
    lstCheat.TopIndex = SendMessage(lstCheat.hWnd, LB_FINDSTRING, -1, ByVal Text1.Text)
End Sub

:twisted:
Изображение


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList