Как бороться с Отрицательными значениями 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д