Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.15;
Скачать: CL | DM;

Вниз

richedit   Найти похожие ветки 

 
ded_di   (2002-04-02 15:08) [0]

Подскажите пжалуста.
Как изменить текст в richedit, не теряя при этом форматирование.


 
aus ©   (2002-04-02 16:39) [1]

SelLength, SelStart, SelAttributes....


 
ded_di   (2002-04-03 11:22) [2]

Не понял. Можно подробнее. Мне нужна автозамена без участия пользователя.


 
Sat7 ©   (2002-04-03 11:47) [3]


Атрибуты выделенного фрагмента:
RichEdit1.SelStart:=10;
RichEdit1.SelLength:=20;
RichEdit1.SelAttributes.Size:=40;

Замена с 3-го по 6-ой символы на ABCD:
RichEdit1.Text:=Copy(RichEdit1.Text,1,2)+"ABCD"+Copy(RichEdit1.Text,7,Length(RichEdit1.Text)-6);

Если при замене ты залезаешь на границу смены атрибутов, они теряются.


 
ded_di   (2002-04-03 12:17) [4]

Да я все так и делаю

RxRichEdit1.FindText(oldStr,0,length(RxRichEdit1.Text),[stWholeWord,stSetSelection]);
sp:=RxRichEdit1.SelStart;
RxRichEdit1.Text:=copy(RxRichEdit1.Text,0,sp)+newStr+copy(RxRichEdit1.Text,sp,length(RxRichEdit1.Text)-sp);

Что значит
Если при замене ты залезаешь на границу смены атрибутов, они теряются.


 
Sat7 ©   (2002-04-03 12:27) [5]

Если у тебя 15 символов в richedit"e, и атрибуты меняются с 6-го символа на другие, а потом ты заменяешь с 3 по 12 символы на свой текст, то установленные до этого с 6-го символа атрибуты просто потеряются (ты их затрешь!), а выставятся те же самые, которые были установлены для символов до 6-го. О как!


 
ded_di   (2002-04-03 12:34) [6]

Да нет на самом деле атрибуты теряются и при таком коде, который я написал (я имею в виду любые атрибуты, во всем рич эдите). Но эту проблему я решил делая так:

cb:=TClipBoard.Create;
cb.SetTextBuf(PChar(string(newStr)));
RxRichEdit1.FindText(oldStr,0,length(RxRichEdit1.Text),[stWholeWord,stSetSelection]);
RxRichEdit1.PasteFromClipboard;
cb.Destroy;

Но теперь есть другой вопрос.
Рич Эдит не понимает правильно таблицы и их выравнивания? Или я ошибаюсь?



Страницы: 1 вся ветка

Текущий архив: 2002.04.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
6-46463
demonyca
2002-02-03 03:39
2002.04.15
Замена данных отправляемых при коннекте к серверу (тип браузера, сисетмы и т.д.)


1-46327
Yuraz
2002-04-01 17:32
2002.04.15
Мастера, не могу правильно выйти из потока, делаю:


3-46265
XanderMan
2002-03-25 21:35
2002.04.15
Извлечение дня, месяца и года из поля типа Date в InterBase


3-46295
IronHawk
2002-03-21 10:58
2002.04.15
Иммитация нажатия клавиш DBNavigator !


3-46247
.victor
2002-03-25 13:49
2002.04.15
Хранение изображений в БД