Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Добавить цветную строку в TRichEdit

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  To color text in a TRichEdit, follow this two steps: 

  Um einen Text in einem TRichEdit einzufдrben, mьssen folgende 2 Schritte 
  gemacht werden: 

  1) Select the text with the SelStart, SelLength properties. 
     Markiere den Text mit SelStart, SelLength Eigenschaften. 

  2) Set the text attribtutes through the SelAttributes property. 
     Die Textattribute mit SelAttributes setzen. 
}

 { 
  1. Example/ Beispiel: 

  Add a colored line to a TRichEdit: 
  Eine farbige Zeile zu einem TRichEdit hinzufьgen: 
}

 procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
 begin
   with ARichEdit do
   begin
     SelStart := Length(Text);
     SelAttributes.Color := AColor;
     SelAttributes.Size := 8;
     SelAttributes.Name := 'MS Sans Serif';
     Lines.Add(AText);
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   AddColoredLine(RichEdit1, 'Hallo', clRed);
   AddColoredLine(RichEdit1, 'Hallo', clGreen);
 end;

 { 
  2. Example/ Beispiel: 

  To color the 5 characters. 
  Die ersten 5 Zeichen im Richedit blau einfдrben. 
}


 procedure TForm1.Button1Click(Sender: TObject);
 begin
   RichEdit1.SelStart  := 0;
   RichEdit1.SelLength := 5;
   RichEdit1.SelAttributes.Color := clBlue;
 end;

 { 
  3. Example/ Beispiel: ( by www.delphimania.de) 

  To color a specified line with a color 
  So kann eine beliebige Zeile mit einer Farbe gefдrbt werden: 
}

 procedure RE_ColorLine(ARichEdit: TRichEdit; ARow: Integer; AColor: TColor);
 begin
   with ARichEdit do
   begin
     SelStart := SendMessage(Handle, EM_LINEINDEX, ARow - 1, 0);
     SelLength := Length(Lines[ARow - 1]);
     SelAttributes.Color := AColor;
     SelLength := 0;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   ZeileFaerben(RichEdit1, 4, clGreen);
 end;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay