Вниз
Скачать: CL | DM;

TRichEdit , склейка разноцветных строк.   Найти похожие ветки 

 
Iraizor ©   (2004-05-06 11:55) [0]

Мастера, вроде задачка простая , да чего-то никак ее решить не могу. Вобщем есть две строки s,s1 , есть TRichEdit.
Нужно в одной строке RichEdit"a склеить s и s1 ,но s должна быть красная , а s1 - синия.
Всем Заранее спасибо


 
KilkennyCat ©   (2004-05-06 12:37) [1]

Решение есть простое, но некрасивое:
создаем еще один рич.
В него вставляем слепленную строку.
выделяем нужные сегменты, меняем атрибуты (цвет).
Копируем результат в буфер, вставляем в нужный рич.
Это так, что пришло в голову... Сам себе ставлю LMD


 
clickmaker ©   (2004-05-06 12:46) [2]

RE.Lines.Add(s + s1);
RE.SelStart := 0;
RE.SelLength := Length(s);
RE.SelAttributes.Color := clRed;
RE.SelStart := Length(s);
RE.SelLength := Length(s1);
RE.SelAttributes.Color := clBlue;


 
KilkennyCat ©   (2004-05-06 19:58) [3]

2 clickmaker

это если использовать мой вариант...
а если строка вставляется в основной рич, придется определять SelStart... перед этим запоминать предыдущий, чтоб пользователю не мешать...

P.S.
последняя строка:
RE.SelLength := 0;  // Удобней в дальнейшем...


 
Iraizor ©   (2004-05-07 10:42) [4]

clickmaker
немного не подходит , тк RichEdit- окно чата , а склейка разноцветных строк нужна только когда приходит редкий тип сообщений.Запоминать позицию не подходит , покрайней мере у меня не работало ,я задавал вместо 0 другие значения ,результат был
другой , но неверный , я например задавал Selstart =30 на 1 больше длины 1ой строки , по идее же он должен был начать выделение 2ой строки ? ан нет не заработало , вышло что он выделил кусок 1ой и кусок 2ой.

KilkennyCat
к сожалению добавить второй RichEdit не могу(да и не очень хочу) , даже invisible



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.035 c
14-1083268131
Serious Sam
2004-04-29 23:48
2004.05.23
Как написать прогу для мобилы (слышал, что на Делфи можно)


11-1071758616
SAGE
2003-12-18 17:43
2004.05.23
А где собственно KOL 1.87?


1-1084038435
DDA
2004-05-08 21:47
2004.05.23
как дополнить уже выделенную память


6-1080822035
BJValentine
2004-04-01 16:20
2004.05.23
Сокеты


4-1080914939
mbgmz
2004-04-02 18:08
2004.05.23
NtQuerySystemInformation




   Наверх