0 / 0 / 0
Регистрация: 06.02.2014
Сообщений: 4
|
|
1 | |
Как убрать перенос строки в конце RichEdit при вставке из буфера обмена06.02.2014, 14:07. Показов 4781. Ответов 14
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане! Подскажите пожалуйста:
Копирую текст. Вставляю в своей программе в поле RichEdit. Текст вставляется, но к нему в конце добавляется переход на новую строку. Как это убрать, без потери форматирования текста? Спасибо!
0
|
06.02.2014, 14:07 | |
Ответы с готовыми решениями:
14
Как убрать перенос строки в RichEdit Как убрать панель буфера обмена В поле RichEdit удалить html-теги; при вставке в RichEdit замена старого текста на новый Взять текст из буфера обмена и поместить его в RichEdit |
пофигист широкого профиля
4754 / 3189 / 861
Регистрация: 15.07.2013
Сообщений: 18,461
|
|
06.02.2014, 14:24 | 2 |
0
|
0 / 0 / 0
Регистрация: 06.02.2014
Сообщений: 4
|
||||||
06.02.2014, 14:31 [ТС] | 3 | |||||
Текст, который содержится в RichEdit копируется в буфер по нажатии на кнопку
0
|
15 / 15 / 2
Регистрация: 01.05.2012
Сообщений: 55
|
|
06.02.2014, 14:41 | 4 |
К сожалению, насколько я знаю, этого не избежать.
Для хранения текста в RichEdit используется TStringList который всегда заканчивает последнюю строку переводом
0
|
0 / 0 / 0
Регистрация: 06.02.2014
Сообщений: 4
|
||||||
06.02.2014, 15:02 [ТС] | 5 | |||||
А программно удалить его тоже нельзя? или программно нажать Backcpace? я пробовал добавлять код Backcpace (#8), а вставляется квадратик..
Добавлено через 18 минут а так
0
|
15 / 15 / 2
Регистрация: 01.05.2012
Сообщений: 55
|
|
06.02.2014, 15:08 | 6 |
сделай просто Trim() - если текст нужен в программе, а если через GUI кудато тащить то ничего не поможет - только другие, более продвинутые, компоненты
А по поводу удаления последнего символа - это я тоже делал - удаляется последний символ текста и дальше ставится тот же перевод строки Потому что в окне он считает, что перевода нет а при преобразовании он все равно добавляется
0
|
пофигист широкого профиля
4754 / 3189 / 861
Регистрация: 15.07.2013
Сообщений: 18,461
|
||||||
06.02.2014, 15:14 | 7 | |||||
1
|
15 / 15 / 2
Регистрация: 01.05.2012
Сообщений: 55
|
|
06.02.2014, 15:22 | 8 |
Это красиво, но толку мало будет, IMHO
в лучшем случае ничего не изменится последний перевод строки не существует он добавляется TStringList
0
|
пофигист широкого профиля
4754 / 3189 / 861
Регистрация: 15.07.2013
Сообщений: 18,461
|
|
06.02.2014, 15:36 | 10 |
Сначала прочитай внимательно вопрос, потом хорошенько подумай, затем попробуй что придумал и только потом отвечай.
И не надо говорить что в стандартном виндовом контроле каким является ричэдит сидит дельфийский стринглист.
0
|
15 / 15 / 2
Регистрация: 01.05.2012
Сообщений: 55
|
|
06.02.2014, 19:26 | 11 |
без грубости, пожалуйста.
Может быть Вы слышали про VCL?
0
|
northener
|
06.02.2014, 20:09
#12
|
0
|
15 / 15 / 2
Регистрация: 01.05.2012
Сообщений: 55
|
|
06.02.2014, 20:22 | 13 |
В Delphi нет понятия нативных контролов Windows - все предлагаемые контролы - обертки и надстройки над ними. Поэтому текст контрола хранится в списке и все действия продублированы.
А работать с нативными контролами позволяет библиотека KOL. Так же есть менее странные и продвинутые реализации...
0
|
0 / 0 / 0
Регистрация: 06.02.2014
Сообщений: 4
|
|
06.02.2014, 20:49 [ТС] | 14 |
Trim преобразует содержимое RichEdit в строку, форматирование текста теряется.
-в этом случае тоже от rtf ничего не остается, ведь "AsText". Остановился на варианте с выделением: Работает. Всем спасибо за отзывчивость! northener отдельное Спасибо! p.s. Извините, что отсутствовал, пишу с работы.AsText
0
|
пофигист широкого профиля
4754 / 3189 / 861
Регистрация: 15.07.2013
Сообщений: 18,461
|
|
06.02.2014, 21:21 | 15 |
Вот именно что обертки. Поэтому текст контрола хранится только в самом контроле и никаких дублей-списков нет. И все действия с TRichEditStrings сводятся к посылке контролу EM_xxx сообщений.
0
|
06.02.2014, 21:21 | |
06.02.2014, 21:21 | |
Помогаю со студенческими работами здесь
15
Как убрать пробел в конце каждой строки при записи этих строк в файл? Убрать диалоговое окно очистки буфера обмена Убрать хранение истории в менеджере буфера обмена Перенос данных между документами без использования буфера обмена Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |