Ich hab ein ähnliches Problem:
Ich will über Programmcode dem RichEdit eine neue Zeile zufügen, die dann z.B.: so aussehen soll:
'Dies ist
eine Testzeile'
Ich habs damit probiert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
iLoop: Integer;
iSection: Integer;
begin
iLoop:=1;
iSection:=1;
While iLoop <= Length(Edit1.Text)
Do Begin
If Edit1.Text[iLoop]='/'
Then Begin
Inc(iLoop);//eat /
If Edit1.Text[iLoop]='c' //color
Then Begin
Inc(iLoop);//eat c
If Edit1.Text[iLoop]='1'
Then RichEdit1.SelAttributes.Color:=clBlue
Else If Edit1.Text[iLoop]='0'
Then RichEdit1.SelAttributes.Color:=clBlack;
Inc(iLoop); //eat number
End;
End;
RichEdit1.Text:=RichEdit1.Text+Edit1.Text[iLoop];
Inc(iLoop);
End;
end;
Im Beispiel ist edit1.text='Dies ist /c1eine /c0Testzeile' und das 'eine' sollte eigentlich blau dargestellt werden, wirds aber nicht.
Das Problem ist wohl,dass sobald man RichEdit1.Text aufruft, der gesamte Text alle Formatierungen verliert(das gleiche gilt für RichEdit1.Lines[index]).
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>