Einzelnen Beitrag anzeigen

Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#4

Re: Memo/Synedit Zeile hinzufügen ohne Zeilenumbruch

  Alt 23. Feb 2010, 17:09
Hallo Himitsu
Zitat von himitsu:
Du fügst doch selber den Zeilenumbruch ein, also beschwer dich nicht über diesen.
Du meinst wahrscheinlich das +#10 oder?. Dies existiert nur weil er sonst alles nur in einem zeile geschrieben hat. Keine Ahnung warum.
Das ist natürlich nicht schön und soll natürlich weg.

Zitat von himitsu:
vGUISynEdit.SelStart := -1; // -1 = Length(vGUISynEdit.Text)
Mit -1 hat er angefangen die Zeilen oben einzufügen. Deswegen hab ich stattdessen Length(vGUISynEdit.Text) verwendet.

Mein Code sieht somit im Moment so aus:
Delphi-Quellcode:
  vGUISynEdit.BeginUpdate;
  vGUISynEdit.SelStart := Length(vGUISynEdit.Text);
  vGUISynEdit.SelText := NewText;
  vGUISynEdit.EndUpdate;
Jetzt hab ich aber noch Probleme damit das manche Zeilen nicht sichtbar sind. Erst wenn ich sie markiere dann werden alle sichtbar.
Außerdem hab ich das Problem das er die selektierung verliert bzw. mit dem Cursor immer nach unten springt. Ist ja auch ganz klar warum.
Wenn ich jetzt aber als Workaorund das hier machen:
Delphi-Quellcode:
  vGUISynEdit.BeginUpdate;
  OldCursorPosition := vGUISynEdit.SelStart;
  vGUISynEdit.SelStart := Length(vGUISynEdit.Text);
  vGUISynEdit.SelText := NewText;
  vGUISynEdit.SelStart := OldCursorPosition;
  vGUISynEdit.EndUpdate;
Damit springt der Cursor immer wieder auf seine alte Position zurück und somit auch die Ansicht. Bsp: Cursor oben, man will unten was nachlesen, scrollt runter, Dateiänderung somit springt der Cursor und dadurch die Anzeige wieder nach oben.
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat