Сообщение LB_FINDSTRINGEXACT

Const LB_FINDSTRINGEXACT = &H1A2

Приложение посылает сообщение LB_FINDSTRINGEXACT для нахождения первой строки в списке, точно соответствующей заданной строке без учета регистра

Возвращаемое значение

В успешном случае сообщение возвращает отсчитываемый от нуля индекс найденного элемента списка. В случае ошибки возвращается LB_ERR

Параметры

wParam
Задает индекс (отсчёт от 0) элемента, с которого начинается поиск. Когда поиск достигнет конца списка, то он продолжает искать с начала списка до выбранного элемента. Для поиска с начала списка используется значение -1
lParam
Строка поиска. Регистр символов не учитывается

Пример

' удалим повторяющиеся элементы из списка
' добавьте на форму ListBox и CommandButton

Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (  _
          ByVal hWnd As Long,   _
          ByVal wMsg As Long,   _
          ByVal wParam As Long,   _
          ByVal sParam As String) As Long
Const LB_FINDSTRINGEXACT = &H1A2

Private Sub Command1_Click()
   Dim x As Long
   Dim y As Long
   Dim ListPos As Long

   For x = 0 To List1.ListCount - 1
     For y = 0 To List1.ListCount - 1
   ListPos = SendMessageByString(List1.hWnd, LB_FINDSTRINGEXACT, 0, List1.List(x))
   If ListPos <> x And ListPos <> -1 Then
      List1.RemoveItem ListPos
   End If
     Next y
   Next x
End Sub

Private Sub Form_Load()
   List1.AddItem "вова"
   List1.AddItem "Вова"
   List1.AddItem "вася"
   List1.AddItem "Петя"
   List1.AddItem "Саша"
   List1.AddItem "Олег"
   List1.AddItem "ПЕТЯ"
End Sub

Смотри также

LB_FINDSTRING, LB_SELECTSTRING

Категория

Списки