Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Поиск в ListBox и ListView

Поиск:
ListBox:
Код

Declare Function SendMessage Lib "User32" Alias "SendMessageA" _
   (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Const LB_FINDSTRINGEXACT = &H1A2

RetValue = SendMessage(lstList.hWnd, LB_FINDSTRINGEXACT, -1, ByVal FindString)

ListView:
Код

Public Function ListViewDoSearch(lstListName As ListView, strStringToFind As String, _
   Optional blnWholeWordOnly As Boolean, Optional blnCaseSensitive As Boolean) As Integer
Dim lngIndex As Long
Dim lngIndexSub As Long
Dim strCurrItem As String
If blnCaseSensitive = True Then strStringToFind = UCase(strStringToFind)
ListViewDoSearch = 0
If lstListName.ListItems.Count < 1 Then Exit Function
If lstListName.SelectedItem.Index = -1 Then lstListName.SelectedItem.Index = 1
For lngIndex = lstListName.SelectedItem.Index - -1 To lstListName.ListItems.Count
   If blnCaseSensitive = True Then
       strCurrItem = UCase(lstListName.ListItems.Item(lngIndex).Text)
   Else
       strCurrItem = lstListName.ListItems.Item(lngIndex).Text
   End If
   If blnWholeWordOnly = True Then
       If strCurrItem = strStringToFind Then GoTo Conclude
   Else
       If InStr(strCurrItem, strStringToFind) > 0 Then GoTo Conclude
   End If
   If lstListName.ColumnHeaders.Count > 1 Then
       For lngIndexSub = 1 To lstListName.ColumnHeaders.Count - 1
           If blnCaseSensitive = True Then
               strCurrItem = UCase(lstListName.ListItems.Item(lngIndex).SubItems(lngIndexSub))
           Else
               strCurrItem = lstListName.ListItems.Item(lngIndex).SubItems(lngIndexSub)
           End If
           If blnWholeWordOnly = True Then
               If strCurrItem = strStringToFind Then GoTo Conclude
           Else
               If InStr(strCurrItem, strStringToFind) > 0 Then GoTo Conclude
           End If
       Next lngIndexSub
   End If
Next lngIndex
Exit Function
Conclude:
   ListViewDoSearch = lngIndex
   lstListName.ListItems.Item(lngIndex).EnsureVisible
   lstListName.ListItems.Item(lngIndex).Selected = True
End Function
Автор: Tri Repetae






Просмотров: 3148

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную