Laden...

Textbox Scrollbarposition ermitteln

Erstellt von matge vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.911 Views
M
matge Themenstarter:in
18 Beiträge seit 2007
vor 15 Jahren
Textbox Scrollbarposition ermitteln

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

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo matge,

TextBox.GetLineFromCharIndex (TextBox.SelectionStart)

herbivore

M
matge Themenstarter:in
18 Beiträge seit 2007
vor 15 Jahren

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.

M
matge Themenstarter:in
18 Beiträge seit 2007
vor 15 Jahren

Gibt es wirklich keine möglickeit?
Beim scrollen wird nichtmal der MouseDown-Event gefeuert... hab ich grade herausgefunden.

Bin um jede idee dankbar!

139 Beiträge seit 2006
vor 15 Jahren

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