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

Как правильно добавлять разноцветные строки в RichEdit?   Найти похожие ветки 

← →
lics   (2007-02-28 13:40) [0]

К примеру мне надо добавить в RichEdit строку "rgb", чтобы буквы r, g и b соответственно были clRed, clGreen и clBlue. Как это правильно сделать?


← →
Elen ©   (2007-02-28 13:53) [1]


> lics   (28.02.07 13:40)

типа :
var t:Tcolor;
begin
t:=clred or clgreen;
caption:=ColorToString(GetRValue(t))+" "+ColorToString(GetGValue(t))+
ColorToString(GetBValue(t));
end;


← →
Elen ©   (2007-02-28 13:55) [2]


> lics   (28.02.07 13:40)

А, в смысле каждая буква разного цвета?


← →
lics   (2007-02-28 13:57) [3]

Прошу прощения, наверное не правильно сформилировал вопрос. Нужно, чтобы строка "rgb" была разноцветная (каждая буква разным цветом). Цвет роли не играет...


← →
lics   (2007-02-28 14:01) [4]

Вот так все работает:
r.Lines.Add("rgb");
r.SelStart:=Length(r.text)-5;
r.SelLength:=1;
r.SelAttributes.Color:=clRed;
r.SelStart:=r.SelStart+1;
r.SelLength:=1;
r.SelAttributes.Color:=clGreen;
r.SelStart:=r.SelStart+1;
r.SelLength:=1;
r.SelAttributes.Color:=clBlue;

Но по-моему это "левое" решение.

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


← →
Elen ©   (2007-02-28 14:13) [5]


> Но по-моему это "левое" решение.

Рабочее решение левым не бывает. ;)


← →
lics   (2007-02-28 14:17) [6]

А есть какая-нибудь альтернатива? Что-нибудь наподобии:
r.SelAttributes.Color:=clRed;
r.AddText("r");
r.SelAttributes.Color:=clGreen;
r.AddText("g");
r.SelAttributes.Color:=clBlue;
r.AddText("b"+#13#10);


← →
Dmitrij_K   (2007-02-28 16:09) [7]

procedure AddText(const aText: AnsiString; aColor: TColor);
var k : Integer;
begin
 k := RichEdit1.GetTextLen;
 RichEdit1.Perform(EM_SETSEL, k, k);
 RichEdit1.SelAttributes.Color := aColor;
 RichEdit1.Perform(EM_REPLACESEL, 0, Longint(PChar(aText)));
end;



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

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



Память: 0.46 MB
Время: 0.032 c
1-1169547324
OnixLab
2007-01-23 13:15
2007.03.18
TComboBox


15-1170999818
MBo
2007-02-09 08:43
2007.03.18
Пятничные задачки. Вася Пупкин потрясает интеллектом...


15-1171552134
Pazitron_Brain
2007-02-15 18:08
2007.03.18
Назменый, спутниковый канал и прокси


2-1172564033
deras
2007-02-27 11:13
2007.03.18
Как сделать Edit "плоским"?


15-1172120397
Loginov Dmitry
2007-02-22 07:59
2007.03.18
Утечка памяти при работе с потоками




   Наверх