Moin Chris,
Hm, also werde ich es erst einmal so probieren, wie Du es geschrieben hast. Gibt es denn nicht einfach die Möglichkeit herauszufinden, ob eine der vier Pfeiltasten gedrückt worden ist? Das könnte man doch in OnKeyDown reinnehmen und dann sagen:
Delphi-Quellcode:
procedure TForm1.SynEdit1KeyDown(Sender: TObject; var Key: Word; Shift:TShiftstate);
var
x,y:integer;
begin
X:=SynEdit1.CaretX;
Y:=SynEdit1.CaretY;
Statusbar1.Panels.Items[0].Text:=inttostr(Y)+':'+inttostr(x);
if (Key = vk_Down) or (Key = vk_up) then
SynEdit1.Referesh
So weit so gut. Nun habe ich das gleich mal getestet und festellen müssen, dass die Markierung der aktuellen Zeile immer um eins "nachhängt". Das heisst, dass der Cursor zwar schon von der letzten Zeile 5 auf die 4. gesprungen ist, aber noch nicht die 4. Zeile markiert worden ist. Gehe ich nun in die 3. Zeile springt die Markierung in die 4te. usw. Dabei habe ich auch gleich noch bemerken dürfen, dass natürlich dementsprechend auch meine Anzeige in der Statusleiste "hinkt".
Abhilfe?
Gegenvorschläge?
Tom
[EDIT=Luckie]Code-Tags gefixt.[/EDIT]