Hallo zusammen!
ich arbeite momentan an einem Chatprogramm.
In einer Textbox wird die Unterhaltung angezeigt. Damit natürlich immer die aktuelste Nachricht sichtbar ist scrolle ich mit scrollToCarret immer auf die unterste zeile.
Wenn ich eine stelle im Text markiere bzw wenn es den Fokus hat scrollt es natürlich nicht automatisch, sonst kann man ältere unterhaltungen nicht mehr lesen. Das fuktioniert soweit.
Was nicht funktioniert ist folgendes:
Wenn das Text-Eingabefeld markiert ist und ich ziehe denn scrollbar des Chatverlaufs nach oben, hat das Textfeld noch den fokus--> es wird automatisch nach unten gescrollt und mann kann denn alten Text nur müsahm lesen.
Wie kann ich überprüfen zb auf welcher zeile sich der Benutzer befindet? Oder an welcher Position der Scrollbar ist?
gruss matge
Hallo matge,
TextBox.GetLineFromCharIndex (TextBox.SelectionStart)
herbivore
Damit bekomme ich die Linie eines bestimmten Buchstaben zurück oder?
Das nüzt mir in meinem Fall nichts, da der Fokus auf einem anderen Control liegt, während der benutzer den Scrollbalken nach oben schiebt.
Deshalb muss ich die aktuelle Position herausfinden.
Gibt es wirklich keine möglickeit?
Beim scrollen wird nichtmal der MouseDown-Event gefeuert... hab ich grade herausgefunden.
Bin um jede idee dankbar!
Es funktioniert meine ich mit der Win32 API.
Schau dir mal das hier an : http://www.freevbcode.com/ShowCode.Asp?ID=2493
vielleicht bringts dich ja auf weitere Ideen.
Gruss Ari
Wer lesen kann ist klar im vorteil!
MSDN
Dein Feund in allen fragen