Страница: 1 |
Вопрос: Реально ли в ListBox хранить длинные строки? | Добавлено: 01.11.07 17:41 |
Автор вопроса: ![]() |
Выходит глобальный облом с ListBox когда вытаюсь в него сохранить строку, длиннее 1024 (вроде бы) символов.
Как посоветуете решить такую траблу? Может если добавлять/считывать строки через SendMessage - такой фигни не будет? Напишите как добавлять/удалять записи через АПИ, а главное - менять текст у определенных строк по их индексу. На крайняк - посоветуйте замену листбоксу (ссыль на скачку) |
Ответы | Всего ответов: 9 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 01.11.07 18:24 |
такая фигня, наверное, будет, хоть что ты делай ![]() В библиотеке Microsoft Forms 2.0 есть контрол ListBox, он может добавлять стрики длиной до 2047 символов. Еще есть вариант написать свой. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #2 | Добавлено: 02.11.07 12:37 |
Еще есть вариант написать свой
Походу только это и остается. Вообще мне и массив строковый подойдет, только надо функцию удаления строки по индексу. Или можно покопать в сторону ListView... У него таких ограничений нет? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 02.11.07 12:50 |
Или можно покопать в сторону ListView... У него таких ограничений нет?
Попробуй ![]() ------- Кстати, а почему бы тебе не сделать класс, с единственной публичной переменной и не создать коллекцию обьектов этого класса? Решится проблема с удалением по индексу, но памяти кушать много будет. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() 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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #5 | Добавлено: 04.11.07 17:24 |
..а почему бы ..
.ItemData(i) = StrPtr(s) |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #6 | Добавлено: 04.11.07 19:29 |
EUGY, рабочий бы пример... а то невкурил че-то
|
Номер ответа: 7 Автор ответа: ![]() ![]() 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 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #9 | Добавлено: 05.11.07 00:02 |
Да ладно. Меня ListView устраивает. Безо всякого гемора.
|
Страница: 1 |
|