Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2010, 11:30   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
Вопрос [Вопрос]Перенос слов и предложений в ListBox

Привет=)
Народ вот такая проблема..
Все предложения в ListBox однострочные и не вмещаются в ширину ListBox

к примеру сейчас все выглядит вот так:
это моё длинное предложение, и так далее.. бла бла бла бла бла бла....

А хотелось бы вот так:
это моё длинное предложение,
и так далее.. бла бла бла бла
бла бла....

Как реализовать? (Не проверять на орфографию, а просто переносить.. как это делает Memo..)

Искал по форуму.. (Ключ. слова "Перенос по словам", "ListBox", "Перенос в ListBox") ничего толкового не нашло.
Человек_Борща вне форума Ответить с цитированием
Старый 01.04.2010, 15:26   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

http://programmersforum.ru/showthread.php?t=86730
там в посте №3 mihali4 приводит пример процедуры отрисовки ячеек Listbox`а ....
тебе она и нужна !
только процедуру вывода многострочного текста там нужно использовать
Код:
DrawText(ListBox1.Canvas.Handle, PChar(ListBox1.Items[Index]), Length(ListBox1.Items[Index]), Rect,  DT_WORDBREAK);
Вот ее примерное применение :
http://programmersforum.ru/showthread.php?t=43908
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 01.04.2010, 22:09   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

это неработает..
длинные проедложения не выделяются и не переносятся....
Может есть ещё варианты?
Человек_Борща вне форума Ответить с цитированием
Старый 02.04.2010, 21:51   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Типо того что нужно http://delphiworld.narod.ru/base/mul...tcombobox.html
Alter вне форума Ответить с цитированием
Старый 02.04.2010, 22:04   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
это неработает..
Это работает, DrawText позволяет сделать то, что Вам надо. Высоту ячеек не забывайте подстраивать, иначе все что ниже первой строки (если был перенос) просто не будет видно (если размер шрифта обычный). Можно уменьшить шрифт в два раза, и влепить в обычную по высоте строку, тогда влезет.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 03.04.2010, 15:22   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

спасибо проблему решил... но не таким способом=)
просто дублировал строку и разделил предложение на 2-е части.
Код:
ListBox.Items.add('Начало');
ListBox.Items.Add('продолжение');
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос слов alevtina07 Microsoft Office Word 4 27.10.2011 15:25
Перенос слов Maxs Общие вопросы Delphi 8 02.05.2009 20:58
Перенос слов в StringGrid artemavd Общие вопросы Delphi 1 17.03.2009 15:58
перенос слов АлёнаP Microsoft Office Access 0 17.03.2009 09:29
подсчитать количество символов слов и предложений nev Помощь студентам 4 09.06.2007 21:22