Einzelnen Beitrag anzeigen

Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#1

Markierung verschiebt sich in jeder Zeile

  Alt 16. Mai 2017, 08:54
Delphi-Version: XE3
Hallo,

heute mal eher eine Grundlagenfrage:
Ich habe ein Richedit. Ich füge mit einer Funktion Zeilen hinzu, welche aus einer "Überschrift" und einem dazu gehörenden Text bestehen. Die Überschrift wird dann Fett formatiert und der andere Text normal.

Code:
procedure TForm1.addZeile(sUeberschrift, sText: String);
begin
  memoMessage.Lines.Add(sUeberschrift + sText);
  if sUeberschrift <> '' then
  begin
    memoMessage.SelStart := Pos (sUeberschrift, memoMessage.Text)-1;
    memoMessage.SelLength := Length (sUeberschrift);
    memoMessage.SelAttributes.Style:=[fsBold];
    memoMessage.SelLength := 0;
  end;

  if sText <> '' then
  begin
    memoMessage.SelStart := Pos (sText, memoMessage.Text)-1;
    memoMessage.SelLength := Length (sText);
    memoMessage.SelAttributes.Style:=[];
    memoMessage.SelLength := 0;
  end;
end;
Jetzt rufe ich die Funktion ein paar mal auf und der bearbeitete Text verschiebt sich in jeder Zeile einen weiter nach rechts (Bild mit dem Resultat im Anhang):

Code:
  Form1.addZeile('erste ', 'Zeile');
  Form1.addZeile('zweite ', 'Zeile');
  Form1.addZeile('dritte ', 'Zeile');
  Form1.addZeile('vierte ', 'Zeile');
  Form1.addZeile('fünfte ', 'Zeile');
Was kann ich tun, um diese Verschiebung zu verhindern?
Miniaturansicht angehängter Grafiken
verschoben.jpg  
Ist ein Nilpferd ein Pferd, das nicht vorhanden ist?
  Mit Zitat antworten Zitat