Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
7-46532
Hermit
2002-01-19 16:33
2002.04.15
Вызов функции из dll


3-46262
Timka
2002-03-20 14:16
2002.04.15
проектировщик модулей данных


14-46485
BJValentine
2002-03-06 14:35
2002.04.15
Музыка


6-46469
Lenidus
2002-02-03 15:29
2002.04.15
Как определить на какую ссылку вы нажали в окне Webbrowser?


4-46541
Poirot
2002-02-07 02:54
2002.04.15
Как вставить в системное меню POPUP....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский