Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > RichEdit, выделение текста


Автор: spp2 1.5.2006, 19:24
На ровном месте споткнулся, целый день бьюсь, не могу сделать выделение цветом выделенного франмента текста в RichEdit.

В word'e это выглядит так: Selection.Range.HighlightColorIndex = wdTurquoise

А в RichEdit??? 

Автор: Albinos_x 1.5.2006, 20:09
этот вопрос наверно из общих вопросов...
 smile 
Код

...
  RichEdit1.SelStart:=N;    // N - номер символа откуда изменять
  RichEdit1.SelLength:= Len;    //  Len - количество изменяемых символов
  RichEdit1.SelAttributes.Color:= clBlue;    // цвет
  RichEdit1.SelAttributes.Style:= [fsBold];   // стиль жирный
...
  

Автор: spp2 1.5.2006, 22:39
Код

  RichEdit1.SelAttributes.Color:= clBlue;    // цвет


Устанавливает цвет шрифта выденного текста, я же пытаюсь добиться выделение цветом выделенного текста, есть разница. 

Автор: Alexeis 2.5.2006, 11:22
spp2, тогда просто 
Код

  RichEdit1.SelStart:=N;    // N - номер символа откуда изменять    
  RichEdit1.SelLength:= Len;

p.s. не забудь фокус передать richedit у , а то до тех пор выделение не видно.

 

Автор: spp2 2.5.2006, 12:31
Нашел на http://www.rsdn.ru/Forum/?mid=1499009,
рецепт от _spin_
Код

uses Richedit;

procedure TForm1.Button1Click(Sender: TObject);
//http://www.rsdn.ru/Forum/?mid=1499009
var
  CF: TCharFormat2;
begin
  FillChar(CF.cbSize, SizeOf(TCharFormat2), 0);
  CF.cbSize := SizeOf(TCharFormat2);
  // Цвет фона
  CF.crBackColor := clYellow;
  CF.dwMask := CFM_BACKCOLOR;
  SendMessage(RichEdit1.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@CF));
{  // Цвет шрифта
  CF.crTextColor := clGreen;
  CF.dwMask := CFM_COLOR;
  SendMessage(RichEdit1.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@CF));
}
end;
 

Автор: Демо 2.5.2006, 13:03
spp2, 
Сам пробовал? 

Сорри, сам лопухнулся с проверкой. 

Автор: Rennigth 2.5.2006, 13:17
Цитата(spp2 @  2.5.2006,  12:31 Найти цитируемый пост)
Нашел на http://www.rsdn.ru/Forum/?mid=1499009,
рецепт от _spin_

http://forum.vingrad.ru/index.php?showtopic=58277&st=0&#entry464833
smile 

Автор: spp2 2.5.2006, 15:28
Да, один к одному.
Значит я плохо искал на Vingrad  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)