Страница: 1 |
Страница: 1 |
Вопрос: Реально ли в ListBox хранить длинные строки?
Добавлено: 01.11.07 17:41
Автор вопроса: ZagZag | ICQ: 295002202
Выходит глобальный облом с ListBox когда вытаюсь в него сохранить строку, длиннее 1024 (вроде бы) символов.
Как посоветуете решить такую траблу?
Может если добавлять/считывать строки через SendMessage - такой фигни не будет?
Напишите как добавлять/удалять записи через АПИ, а главное - менять текст у определенных строк по их индексу.
На крайняк - посоветуйте замену листбоксу (ссыль на скачку)
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #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-сайт:
Профиль | | #3
Добавлено: 02.11.07 12:50
Попробуй
-------
Кстати, а почему бы тебе не сделать класс, с единственной публичной переменной и не создать коллекцию обьектов этого класса? Решится проблема с удалением по индексу, но памяти кушать много будет.
Номер ответа: 4
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #4
Добавлено: 02.11.07 14:56
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-сайт:
Профиль | | #8
Добавлено: 04.11.07 22:02
2 ZagZag
ну короче сделать массив строк и в листбоксе хранить указатели на строки. он это имел в виду.
тока слишком уж много памяти это скушает. строки-то не удаляются сами.
Номер ответа: 9
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #9
Добавлено: 05.11.07 00:02
Да ладно. Меня ListView устраивает. Безо всякого гемора.