![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RxRichEdit и цветной текст [D6, Win95/98, WinME, NT4, Win2k, WinXP]
Sairex © (2004-07-04 13:36:00)Здраствуйте, у меня вопрос: Можно ли в RxRichEdit выводить с
текст разными цветами и фоном ? Если да то, как ...
Заранее спасибо...
ssk (2004-07-09 11:59:00) [1]и я свои 5 копеек. процедура красит строку в RichEdit в желаемый цвет
procedure SetColorStrRE(RE: TRichEdit; Line: integer; Color: TColor);
var
CurrentCursorPos: integer;
begin
// запоминаем текущую позицию курсора
CurrentCursorPos:=RE.SelStart;
// выделяем и красим строку в нужный цвет
RE.SelStart := RE.Perform(EM_LINEINDEX, Line, 0);
RE.SelLength := Length(RE.Lines[Line]);
RE.SelAttributes.Color:=Color;
// возвращаем курсор на прежнюю позицию
RE.SelStart:=CurrentCursorPos;
end;
Sairex (2004-07-09 11:50:00) [2]Спасибо выручил
тот же (2004-07-04 16:44:00) [3]Даю примеры для RichEdit. Для RxRichEdit тоже самое. Подправь под свои нужды и все.
procedure TForm1.Button2Click(Sender: TObject);
begin
RichEdit2.Lines.Clear;
RichEdit2.SelAttributes.Color:=clRed;
RichEdit2.Lines.Add('Красное слово');
RichEdit2.SelAttributes.Color:=clBlue;
RichEdit2.Lines.Add('Синее слово');
RichEdit2.SelAttributes.Color:=clLime;
RichEdit2.Lines.Add('Зелёное слово');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with Richedit1 do begin
Lines.Insert(0,'New string '+ IntToStr(Lines.Count));
SelStart:=0;
SelLength:=Length(Lines[0]);
case Lines.Count mod 4 of
0:SelAttributes.Color:=clRed;
1:SelAttributes.Color:=clBlue;
2:SelAttributes.Color:=clGreen;
3:SelAttributes.Color:=clLime;
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
RichEdit3.Lines.Clear;
RichEdit3.Lines.Add('СЛОВО1:СЛОВО2:СЛОВО3');
RichEdit3.SelStart:=0; RichEdit3.SelLength:=7; RichEdit3.SelAttributes.Color:=clRed;
RichEdit3.SelStart:=7; RichEdit3.SelLength:=7; RichEdit3.SelAttributes.Color:=clLime;
RichEdit3.SelStart:=13; RichEdit3.SelLength:=7; RichEdit3.SelAttributes.Color:=clRed;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
RichEdit4.Lines.Add('123456789');
RichEdit4.SelStart:=0; RichEdit4.SelLength:=4; RichEdit4.SelAttributes.Color:=clRed;
RichEdit4.SelStart:=4; RichEdit4.SelLength:=3; RichEdit4.SelAttributes.Color:=clBlue;
RichEdit4.SelStart:=13; RichEdit4.SelLength:=2; RichEdit4.SelAttributes.Color:=clYellow;
end;