Как бороться с Отрицательными значениями list.ListCount? - VB
Формулировка задачи:
Добрый день!
Как сие победить.
При заполнении элемента
ListBox
, с какого то значения (вроде свыше 30000) Счетчик элементовListCount
начинает "глючить", а именно получает отрицательное значение.
так все таки можно получить как то количество элементов списка если оно превышает 32767?
Решение задачи: «Как бороться с Отрицательными значениями list.ListCount?»
textual
Листинг программы
- Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
- Const LB_GETCOUNT = &H18B
- Const LB_GETTEXT = &H189
- Const LB_GETTEXTLEN = &H18A
- Private Sub Form_Load()
- Dim count As Long
- Dim itemtext As String
- Dim textlen As Long
- For i = 1 To 35000
- List1.AddItem "Count" & i
- Next
- count = SendMessage(List1.hWnd, LB_GETCOUNT, ByVal CLng(0), ByVal CLng(0))
- textlen = SendMessage(List1.hWnd, LB_GETTEXTLEN, ByVal 34999, ByVal CLng(0))
- itemtext = Space(textlen) & vbNullChar
- textlen = SendMessage(List1.hWnd, LB_GETTEXT, ByVal 34999, ByVal itemtext)
- itemtext = Left(itemtext, textlen)
- Debug.Print "count = " & count
- Debug.Print "itemtext = " & itemtext
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д