Как попросить компоненты памяти Delphi (TMemo, TcxMemo) пересчитывать разрывы строк? Как предотвратить фиксированный перенос строк?

Я пытаюсь использовать компоненты Delphi (Delphi 2009) TMemo и TcxMemo - у меня WordWrap = True и Scrollbars = [вертикальная полоса прокрутки], и я добавляю 4 очень длинные текстовые строки. Компонент памятки автоматически переносит эти строки на несколько строк и создает вертикальную полосу прокрутки.

Затем я изменяю размер компонента памятки, например потому что форма становится больше. Плохо то, что перенос строк сохраняется, компонент памятки не пересчитывает перенос, поэтому к правой части текста добавляется большой пробел.

Я ожидаю, что компоненты памятки должны заново обернуть текст, это будет интуитивно понятно. Но этого не происходит? Это ошибка? Есть какая-то недвижимость?

Эта проблема возникает только тогда, когда текст добавляется во время разработки. Дизайнер времени разработки оборачивает и сохраняет текст в фиксированных позициях и, по-видимому, сохраняет в dfm текст с дополнительными разрывами строк, которых не было в исходном тексте. Итак - это какая-то ошибка.


person TomR    schedule 11.12.2020    source источник
comment
Так как я был удивлен, что никогда не видел этого, я сделал быстрый тест. Добавил TMemo в форму и привязал ее к akRight. WordWrap = True по умолчанию. Затем я бегу, добавляю несколько раз длинную строку и меняю размер формы. Ничего странного, никаких липких CRLF, кроме тех, которые добавляются после каждой длинной строки.   -  person Tom Brunberg    schedule 11.12.2020
comment
Хорошо, вы не упомянули, что проблема возникает только тогда, когда вы добавляете текст во время разработки. Вы можете изменить свой вопрос, включив в него эту информацию.   -  person Tom Brunberg    schedule 11.12.2020


Ответы (1)


Я нашел ответ в https://supportcenter.devexpress.com/ticket/details/q533519/problem-assigning-tcxmemo-lines-to-another-component-with-wordwrap

... отключить свойство WordWrap во время разработки и включить его в форме, отображающей

person TomR    schedule 11.12.2020
comment
Или загрузите строки в памятку во время выполнения, а не во время разработки. - person Tom Brunberg; 11.12.2020