Einzelnen Beitrag anzeigen

Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#11

Re: Richedit mit formatierten text füllen und drucken

  Alt 8. Aug 2005, 16:16
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>
  Mit Zitat antworten Zitat