![]() |
TRichedit - Cursor und Bildausschnitt positionieren
Hallo,
mittlerweile gelingt es mir, neue Zeilen aus einer Datei am Ende meines Richedit-Textes anzuhängen. Nun möchte ich, dass zwar das Anhängen am Ende geschieht, aber danach wieder die alte Cursor-Position und der alte Bildausschnitt angezeigt werden. Ich verwende folgenden code:
Code:
Zwar steht der Cursor dort, wo er soll, aber der Bildschirmausschnitt springt nicht an diese Stelle, sondern bleibt am Ende des Textes stehen. Wie kann ich erreichen, dass die alte Cursorstelle angezeigt wird??
richedit.lines.BeginUpdate;
curcuretpos:=richedit.selstart; // aktuelle Position speichern richedit.selstart:=length(richedit.text); // Ende des Textes // hier folgt nun das Einfügen der Zeilen - danach: richedit.lines.EndUpdate; richedit.selstart:=curcuretpos; richedit.Repaint; |
Re: TRichedit - Cursor und Bildausschnitt positionieren
Moin, Moin.
Bin mir nicht sicher, das ich deine Frage so recht verstanden habe. Du sicherst+restaurierst die Caret-Position. Aber zusätzlich soll die oberste Zeile auch restauriert werden? Wenn ja, dann sollte dieses helfen:
Delphi-Quellcode:
function reGetVerScrollPos(re:TRichEdit):Integer;
begin Result:=GetScrollPos(re.Handle,SB_Vert); end; procedure reSetVerScrollPos(re:TRichEdit;Position:Integer); begin SetScrollPos(re.Handle,SB_Vert,Position,true); re.Perform(WM_VScroll,Position shl 16+SB_ThumbTrack,0) end; |
Re: TRichedit - Cursor und Bildausschnitt positionieren
Danke, werde ich ausprobieren...
welche Unit muss ich da zusätzlich einbinden? Bei der Syntaxprüfung wird WM_VScroll nicht gefunden. Edit: Okey, hab die fehlende Unit gefunden: Messages. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz