![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Красиво писАть в Richedit e...
Борис_ © (2003-02-09 02:23:00)суть заключается в том что я не могу до конца понять как думает RichEdit... хочется добовлять в ричедит текст разного цвета,размера. но не так...
richedit1.selattributes.color:=clred;
richedi1.selattributes.height:=20;
richedit1.lines.add("текст");
а так чтобы каждый символ в строке допустим имел свой размер или цвет..
но привязать selattributes к richedit1.text:=richedit1.text+"A";
не получается, т.е. пишет обычным черным шрифтом стандартного размера..:(
я решил попробовать так:
создаю мемо и в него пихаю текст в "формате" rtf (ну всякие там \fs \cf \b \i...) потом сохраняю в поток и загружаю в ричедит этот поток... все вроде хорошо...но вот очень сильное мерцание (если часто добавлять) т.к. там заного "рисуется" весь текст.
может есть какие-то другие способы...поделитесь. спасибо!
ts (2003-02-17 08:47:00) [1]>но привязать selattributes к richedit1.text:=richedit1.text+"A";
>не получается, т.е. пишет обычным черным шрифтом стандартного >размера..:(
...
richedit1.SelStart:=Length(richedit1.Text);
richedit1.SelText:="A";
...
perseptron (2003-02-11 11:12:00) [2]А как програмно перевести скролер richedit в последнюю позицию кто-нить знает?
alehan (2003-02-11 10:57:00) [3]
with RichEdit1 do
begin
Clear;
SelectAll;
SelAttributes.Color:=Font.Color;
Text := "Абырвалг";
SelStart := 5;
SelLength := 2;
SelAttributes.Color:=clRed;
end;
в win2000 работает, текст раскрашивает.
Но если в RichEdit1.Text запихнуть символ "номер" (№), RichEdit сам собой меняет фонт. Так что он всё-таки думает, только непонятно о чём.
Slava (2003-02-10 10:39:00) [4]richedit1.selattributes.color:=clred;
richedi1.SetSelTextBuf("текст ");
richedit1.selattributes.color:=clblue;
richedi1.SetSelTextBuf("текст 2");
ALex44 (2003-02-10 00:18:00) [5]Po-moemu, TRichEdit ne dumaet (t.k. on prosto ispol"zuet control, vstroennyj v Windows, kotoryj dumat" ne mozhet). K tomu zhe, pohozhe, eto sil"no zavisit ot versii .dll.
K stati, znaet kto-nibud", kak izmenit" font zagruzhennogo texta v rezhime PlainText? To, chto rabotalo v Win98 (Font := ...), perestalo rabotat" v w2k...
Романов Р.В. (2003-02-09 17:19:00) [6]Ну если в цикле тогда так
var
i: Integer;
begin
with RichEdit1 do
for i := 0 to Length(Text)-1 do
begin
SelStart := i;
SelLength := 1;
with SelAttributes do
begin
Color := Random($1000000);
Height := Random(24);
end;
end;
end;
Борис_ (2003-02-09 16:53:00) [7]2 Романов Р.В. не получается...
если все это в цикл пустить (for i:=1 to length(richedit1.text)) то изменить цвет размер только последнего символа...
Романов Р.В. (2003-02-09 15:45:00) [8]with RichEdit1 do
begin
SelStart := 0;
SelLength := Length(Text) div 2;
with SelAttributes do
begin
Color := clRed;
Height := Height * 2;
end;
SelStart := SelLength;
SelLength := MaxInt;
with SelAttributes do
begin
Color := clGreen;
Height := Height div 2;
end;
end;
Борис_ (2003-02-09 15:09:00) [9]не понял?
а где указывать цвет и размер?
Viktor Kushnir (2003-02-09 08:51:00) [10]Можно попробывать найти методы
RichEdit.Lines.BeginUpdate;
//тут ты вставляешь текст.
RichEdit.Lines.EndUpdate;