Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Реально ли в ListBox хранить длинные строки? Добавлено: 01.11.07 17:41  

Автор вопроса:  ZagZag | ICQ: 295002202 
Выходит глобальный облом с ListBox когда вытаюсь в него сохранить строку, длиннее 1024 (вроде бы) символов.
Как посоветуете решить такую траблу?
Может если добавлять/считывать строки через SendMessage - такой фигни не будет?
Напишите как добавлять/удалять записи через АПИ, а главное - менять текст у определенных строк по их индексу.
На крайняк - посоветуйте замену листбоксу (ссыль на скачку)

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 01.11.07 18:24
такая фигня, наверное, будет, хоть что ты делай =) Скорее всего это ограничения контрола.
В библиотеке Microsoft Forms 2.0 есть контрол ListBox, он может добавлять стрики длиной до 2047 символов.
Еще есть вариант написать свой.

Ответить

Номер ответа: 2
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #2 Добавлено: 02.11.07 12:37
Еще есть вариант написать свой

Походу только это и остается.

Вообще мне и массив строковый подойдет, только надо функцию удаления строки по индексу.
Или можно покопать в сторону ListView... У него таких ограничений нет?

Ответить

Номер ответа: 3
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #3
Добавлено: 02.11.07 12:50
Или можно покопать в сторону ListView... У него таких ограничений нет?

Попробуй =)
-------
Кстати, а почему бы тебе не сделать класс, с единственной публичной переменной и не создать коллекцию обьектов этого класса? Решится проблема с удалением по индексу, но памяти кушать много будет.

Ответить

Номер ответа: 4
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #4 Добавлено: 02.11.07 14:56
Private Sub Form_Load()
    ListView1.ListItems.Add , , String$(1000000, "A";)
    MsgBox Len(ListView1.ListItems.Item(1).Text)
End Sub

Мне хватит =)

Ответить

Номер ответа: 5
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #5 Добавлено: 04.11.07 17:24
..а почему бы ..

.ItemData(i) = StrPtr(s)

Ответить

Номер ответа: 6
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #6 Добавлено: 04.11.07 19:29
EUGY, рабочий бы пример... а то невкурил че-то

Ответить

Номер ответа: 7
Автор ответа:
 Docal



ICQ: 408802757 

Вопросов: 9
Ответов: 147
 Профиль | | #7 Добавлено: 04.11.07 19:59
List1.List(i)=text

Ответить

Номер ответа: 8
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #8
Добавлено: 04.11.07 22:02
2 ZagZag
ну короче сделать массив строк и в листбоксе хранить указатели на строки. он это имел в виду.
тока слишком уж много памяти это скушает. строки-то не удаляются сами.

Ответить

Номер ответа: 9
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #9 Добавлено: 05.11.07 00:02
Да ладно. Меня ListView устраивает. Безо всякого гемора.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам