Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c