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?
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...
Stevie Geschrieben 2. Juni 2003 Autor Geschrieben 2. Juni 2003 Jo, thx! Klappt zumindest schonmal auf meinem und einem W2K-Rechner!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden