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


Автор: TP@MB@Y 12.7.2005, 00:17
Вот так я добавляю строку с выбранным цветом в RichEdit:
Код

procedure TfMain.addtext(s:string;col:TColor);
var b:TColor;
begin
 b:=reChat.SelAttributes.Color;
 reChat.SelAttributes.Color:=col;
 reChat.Lines.Append(s);
 reChat.SelAttributes.Color:=b
end;


Хочу теперь сделать, чтобы можно было не только цвет шрифта выбирать, но и цвет фона. Только что-то никак не пойму как это сделать =)

Автор: Coder 12.7.2005, 01:37
Судя по описанию класса TTextAttributes, стандартными методами это сделать нельзя. А почему бы не попробывать какой-нибудь навороченный компонент-редактор текста вместо Rich`а?


Автор: TP@MB@Y 12.7.2005, 01:40
Coder
Я таких не знаю и не имею =)
Значит нельзя?

Автор: Quadr0 12.7.2005, 02:24
...

Автор: Rennigth 12.7.2005, 07:57
изменит цвет текста и бэкграунда выбранного текста
Код

uses RichEdit...
...
var
  lFmt: TCharFormat2;
begin
  FillChar(lFmt.cbSize, SizeOf(TCharFormat2), 0);
  lFmt.cbSize := SizeOf(TCharFormat2);

  //Background Color
  lFmt.crBackColor := clred;
  lFmt.dwMask := CFM_BACKCOLOR;
  SendMessage(RichEdit.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@lFmt));

  //Text Color
  lFmt.crTextColor := clGreen;
  lFmt.dwMask := CFM_COLOR;
  SendMessage(RichEdit.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@lFmt));
end;
...


Автор: TP@MB@Y 12.7.2005, 20:55
Rennigth
Спасибо!

Quadr0
В следущих проектах буду юзать RxLib, а пока обойдусь методом Rennigth'а smile

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