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.