Stevie Geschrieben 2. Juni 2003 Geschrieben 2. Juni 2003 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? Zitieren
geloescht_JesterDay Geschrieben 2. Juni 2003 Geschrieben 2. Juni 2003 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... Zitieren
Stevie Geschrieben 2. Juni 2003 Autor Geschrieben 2. Juni 2003 Jo, thx! Klappt zumindest schonmal auf meinem und einem W2K-Rechner! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.