Проблема с компонентом TAdvMemo (о переносе слов)

Я использую TAdvMemo. Моя проблема связана со свойством WordWrap. Это работает очень хорошо, когда я набираю текст в текстовой области, но когда я добавляю к нему строку в коде, это не действует.

Я установил свойство WordWrap на: свойство wwRightMargin и свойство RightMargin на 80, но не вижу другого свойства, которое может мне помочь, поэтому я спрашиваю, как решить эту проблему?

я имею в виду, например:

AdvMemo.Lines.Add(MyString);

где MyString — это строка вида: «привет, слово». Когда он длиннее 80 символов и включен перенос, он должен переноситься на новую строку, но вместо этого все находится на одной строке.


person Marcello Impastato    schedule 23.09.2011    source источник
comment
Я не могу понять. Что означает печать строки?   -  person David Heffernan    schedule 23.09.2011
comment
Вы спрашивали на форумах поддержки tmssoftware? Возможно, там вам ответят раньше.   -  person Marjan Venema    schedule 23.09.2011
comment
Да, но группа новостей не очень активна :(   -  person Marcello Impastato    schedule 23.09.2011
comment
привет, @david, я имею в виду, например: AdvMemo.Lines.Add( MyString ), где MyString — это строка как: «привет слово». Когда он длиннее 80 символов и включен перенос, он должен идти в новой строке, но печатать все в одной строке.   -  person Marcello Impastato    schedule 23.09.2011
comment
@Marcello: Пожалуйста, отредактируйте свой вопрос, чтобы добавить уточнение, которое вы вложили в свой комментарий к Дэвиду, чтобы люди могли видеть его, когда читают сам вопрос.   -  person Ken White    schedule 23.09.2011
comment
@ken, хорошо, я знаю, просто я прошу вас привести пример, я здесь новичок и еще мало практиковался, может, скажите мне лучше, как поступить и на будущее? еще раз спасибо.   -  person Marcello Impastato    schedule 23.09.2011
comment
@Marcello: войдите в систему с той же учетной записью, которую вы использовали для публикации вопроса, а затем перейдите к вопросу. В левом нижнем углу вашего вопроса вы увидите ссылку для редактирования. Щелкните эту ссылку. :)   -  person Ken White    schedule 24.09.2011
comment
@Марчелло: Да, все в порядке. (Я уже сделал это для вас, но вы будете знать в следующий раз. :) )   -  person Ken White    schedule 24.09.2011
comment
хорошо, спасибо, теперь я понял лучше :) еще раз спасибо   -  person Marcello Impastato    schedule 24.09.2011
comment
@marcus, нет, это добавляет строку mystring в текстовую строку advmemo. Я спросил о том, как сделать возврат строки, намного длинной из правого поля. В tms-newsgroup наконец тоже ответили мне, и сказали добавить эту инструкцию: AdvMemo.UpdateWrap. Завтра лучше проверю. амд узнает.   -  person Marcello Impastato    schedule 27.09.2011


Ответы (2)


Попробуйте вместо этого использовать AdvMemo.InsertText. Lines.Add не заботится о переносе, он просто обрабатывает некоторые специальные символы в строке.

person Heinrich Ulbricht    schedule 18.10.2011

После того, как вы добавили текст в рекламную заметку, вы должны обновить обтекание, вызвав функцию UpdateWrap(). Вот вам пример:

AdvMemo.Lines.Add(MyString);
AdvMemo.UpdateWrap();

or

AdvMemo.Lines.Text(MyString);
AdvMemo.UpdateWrap();

Убедитесь, что свойство WordWrap в Adv Memo отличается от wwNone.

person halit    schedule 07.08.2015