Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо