Я использую TRichEdit для редактирования текста.У меня включен WordWrap, который автоматически оборачивает текст по краям элемента управления, чтобы не было полос прокрутки.Ширина RichEdit установлена так, чтобы соответствовать 80 столбцам.
WordWrap хорошо имитирует это поведение, если между словами иногда есть пробел.Но если у вас есть очень неоправданное слово, RichEdit wrap автоматически прервет его, а WordWrap не будет!
Если я хочу сейчас получить доступ к этим обернутым строкам, я могу получить его через RichEdit.Lines.Text
, который автоматически поместит CRLF в столбец80. Если я использую RichEdit.Text, я получаю необработанный текст без CRLF, подходящего для WordWrap.
Задача не так проста, как выполнение пользовательской функции, как я уже пробовал, и это была не маленькая функция, но она моглабыть в состоянии использовать функции обтекания TRichEdit?У меня есть идея создать скрытый RichEdit, но этот вид кажется глупым для этой задачи, так как я должен был бы рассчитать его ширину только для переноса слов - довольно бессмысленно, я думаю.
Вопрос - есть ли способ заставитьWordWrap, чтобы вырезать длинные слова, которые нельзя обернуть иначе?Таким образом, если слово имеет длину 170 символов, оно будет заключено в 3 строки 80 + 80 + 10, но также позаботится о словах, прежде чем заполнять предыдущие и последующие строки?