EHEMALIGER_IB Geschrieben 12. November 2002 Geschrieben 12. November 2002 HAllo, Ich habe ein Programm mit VB6 erstellt in dem es ein TextBox-Element gibt. Formatiert ist es auf Multiline und mit Scrollbars. Während der Programmausführung werden bei bestimmten Aktion Textzeilen hinzugefügt, der Inhalt "wächst" also. Leider bleibt der Cursor aber immer auf Position der 1.ten Zeile, die Scrollbalken lassen sich nach unten ziehen. WEnn ich den letzten (also aktuellsten) Eintrag sehen will, muss ich also nach ganz unter scrollen. Wie kann ich es einrichten dass immer die unterste Zeile angezeigt wird? Ich suche also eine Einstellung wie Text1.Lastposition=true oder sowas? Gibt es dass überhaupt? Zitieren
Fallin Geschrieben 12. November 2002 Geschrieben 12. November 2002 Hallo, ich hätte einen Vorschlag, wie man das machen könnte... Als erstes in einem Modul folgende Funktion einfügen Private Declare Function SetWindowLong Lib "user32" Alias _ "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex _ As Long, ByVal dwNewLong As Long) As Long Dann braucht man noch ein paar Konstanten: Public Const SB_BOTTOM = 7 Public Const WM_VSCROLL = &H115 Jetzt kannst Du Deine Textbox ganz einfach per code nach unten scrollen: Call SendMessage(text1.hWnd, WM_VSCROLL, SB_BOTTOM, 0&) Allerdings "flackert" die Textbox manchmal, das kommt daher, daß VB nach dem anfügen die Box erst ganz noch oben scrollt und dann erst wieder ganz nach unten. Wenn man das umgehen will, muß man halt die Textbox noch per Sendmessage mit dem Text versorgen. Aber wenn ich mich richtig erinnere, hat man bei einer RichTextbox das Problem nicht. Kannst es ja mal ausprobieren und wenn es nicht funktionieren solle, Dich noch mal melden. Zitieren
Gast King555 Geschrieben 15. November 2002 Geschrieben 15. November 2002 Oder aber man schreibt in das Change-Ereignis den folgenden Code: Text1.SelStart = Len(Text1.Text) 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.