Veröffentlicht 2. Juni 200322 j Hi, ich hab RichEdit auf meinem Formular und jedesmal, wenn eine neue Zeile dazukommt, soll nach unten gescrollt werden. Dazu benutze ich folgende Befehle: edThread.Perform(WM_VSCROLL, SB_BOTTOM, 0); edThread.Perform(WM_VSCROLL, SB_PAGEUP, 0); Das funktioniert auf meinem Rechner (WinNT SP6) und auf weiteren WinNT-Rechnern, aber nicht auf allen. Dort wird nicht nach unten gescrollt. Ebenso auf Win2K-Rechnern. Eine Vermutung von mir ist, dass dort mir dem ersten Befehl nach unten gescrollt wird und mit dem zweiten wieder nach oben. Allerdings kann ich den zweiten nicht weglassen, weil sonst unter die letzte Zeile gescrollt wird. Wie kann ich das Problem beheben?
2. Juni 200322 j Hier mal ein Beispiel zum Scrollen in einer TRichEdit Komponente var itemp: Integer; ... with RichEdit1 do begin // Move to the last line: // Zur letzten Zeile scrollen: SelStart := Length(Text); Perform(EM_SCROLLCARET, 0, 0); // Move to the first line: // Zur ersten Zeile Scrollen: SelStart := Perform(EM_LINEINDEX, 0, 0); Perform(EM_SCROLLCARET, 0, 0); // Move to Line 5, Character 3: // Cursor auf Linie 5, Postion 3 setzen: SelStart := Perform(EM_LINEINDEX, 5, 0) + 3; Perform(EM_SCROLLCARET, 0, 0); // Scroll down 1 Line // Eine linie nach unten scrollen with RichEdit1 do begin itemp := SendMessage(Handle, EM_LINEFROMCHAR, SelStart, 0); SelStart := Perform(EM_LINEINDEX, itemp + 1, 0); Perform(EM_SCROLLCARET, 0, 0); end; Hilft dir vielleicht...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.