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

Вниз

Работа с RichEdit - проблемы   Найти похожие ветки 

 
Иванько ©   (2003-10-15 18:37) [0]

При работе с RichEdit возникают следующие неудобства:
1) необходимо выделить участок текста цветом –
richedit1.selstart:=1; richedit1.SelLength:=100000; richedit1.SelAttributes.Color:=clRed; richedit1.SelLength:=0;
при наличии достаточно длинного выделения это визуально видно пользователю и занимает длительное время. Была идея создать невидимый richedit и делать все изменения с ним, но как потом перенести все его содержимое, включая форматирование текста на richedit1? Что-то я не нашел такого свойства, есть свойство text и lines.string[] но они вроде как только текст и хранят… А может быть есть другой метод, более красивый???
2) Как изменить цвет для всего текста?
richedit1.selstart:=0; richedit1.SellectAll; richedit1.SelAttributes.Color:=clRed; richedit1.SelLength:=0;
визуально тоже очень заметно.
И вообще, не нравится мне RichEdit. Может для редактирования он и подходит, но в качестве визуализатора что то не очень… Каким компонентом его можно заменить (требования: отображать разные участки текста разным цветом, позиционирование курсора, редактирование текста – желательно)?


 
Мафиозо   (2003-10-15 21:12) [1]

2) Richedit1.Font.Color:=clRed


 
Ugh   (2003-10-16 02:04) [2]

Посмотреть в папке ...Delphi5/Demos/RichEd


 
SergP ©   (2003-10-16 07:47) [3]


> Ugh (16.10.03 02:04) [2]
> Посмотреть в папке ...Delphi5/Demos/RichEd


Ты хочешь сказать что оно там есть?


 
Иванько ©   (2003-10-16 18:41) [4]

Та не... Это все детское... Тама как раз все сделано как в редакторе - то есть выделяешь текст - нажал пимпу - он свойства ВЫДЕЛЕННОГО текста изменил... Так я сам и реализовал...
А вот как сделать не через выделение?


 
Иванько ©   (2003-10-16 18:56) [5]

а Richedit1.Font.Color:=clRed изменяет не весь текст, а абзац в позиции курсора...


 
Семен Сорокин ©   (2003-10-16 19:02) [6]

может так: сделать невидимый RichEdit (Parent = nil), при изменении в него скопировать текст - изменить, а потом обратно? сам не пробовал, но может красивше будет :)


 
Иванько ©   (2003-10-16 19:07) [7]

я тут не очень умный, уж простите... А парент=нил на кой ляд писать???
А тут такая проблема - копируем мы как раз сам текст, а не форматирование, если пользоваться свойством text... А как все полностью копировать я что то не догоняю....


 
mOOx_ ©   (2003-10-16 19:11) [8]

Я когда-то точно такой же фигней страдал. Проблем было море. Я тут вот чо подумал: веть Lines - это TStrings. Значит есть BeginUpdate и EndUpdate. Что если перед началом изменения сделать бегин, а после, соответственно, енд. Может не так маргать будет.
ЗЫ: влом проект старый поднимать, так что на словах :)


 
Семен Сорокин ©   (2003-10-16 19:13) [9]

создаешь RichEdit в рантайме (парент не присваиваешь), копируешь текст, см.
http://delphimaster.net/view/1-1066312217/
изменяешь, а потом обратно


 
mOOx_ ©   (2003-10-16 19:13) [10]

Все полностью: только что читал в каком-то разделе форума (не помню уже в каком). Делается это через SaveToStream. Не проверял.


 
mOOx_ ©   (2003-10-16 19:14) [11]

Вот и ссылочка поспела :)


 
Иванько ©   (2003-10-16 19:15) [12]

хых... а вот что делают этот BeginUpdate и EndUpdate???
а то под рукой нет документашки???


 
mOOx_ ©   (2003-10-16 19:21) [13]

Они не дают картинке на экране измениться после добавления/изменения данных. Пример:
Lines.BeginUpdate;
Lines.Clear;
Lines.EndUpdate;
Если у тебя в лайнс будет итемов так 1000, то при клеар картинка будет перерисовывать после каждого удаления итема (тоесть 1000 раз). А так, она нарисуется перед удалением и не измениться, пока не сделаешь ендапдате. Надеюсь понятно объяснил :)



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

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

Наверх




Память: 0.5 MB
Время: 0.028 c
1-89273
ctranik
2003-10-14 15:18
2003.10.27
как определить какой формат в данное время в буфере


3-89094
botsman
2003-10-08 10:20
2003.10.27
InterBase соединение


1-89303
explorer
2003-10-10 13:40
2003.10.27
Выгрузка и загрузка формы


14-89490
panov
2003-10-09 17:20
2003.10.27
Создание топиков, обращенных к определенному участнику форума


14-89518
Knight
2003-10-07 12:27
2003.10.27
Люди выручайте!!!