Problem beim Scrollen in Input-Feld



  • Hi. Ich hab da mal eine Frage bzw ein Problem.
    Versuche nun schon seit einigen Tagen das Scrollen in einem Inputfeld(OpenGL) zu schreiben aber es will einfach nicht funktionieren.

    Im grunde ist das ja nix weltbewegendes. Ich habe eine vordefinierte länge(7 zeichen), die angezeigt wird.
    Ist nun der Text, in der eingabezeile größer(also input > 7) als die sichtbare länge, wird nur ein substring ausgegeben. soweit haut die logik ja auch hin.

    mein problem ist nun, wenn der cursor am ende des textes ist und ich zurück "scrollen" will, bleibt der cursor so lange an der 'rechten seite des inputfeldes' bis ich die ersten 7 eingegebenen zeichen sehe.

    hat vllt. jemand eien idee wie ich das richtig schreiben kann?
    also, habe ich nun z.b. 18 eingegebene zeichen und bin beim 18. zeichen, will ich im sichtbereich erst meine 7 zeichen nach rechts gehen können, bevor es zurück 'scrollt'.

    ich hab nun schon einige sachen in der richtung versucht nhand der cursorposition den 'sichtbaren bereich' zu errechnen aber irgendwie haut das nciht hin 😞

    kann ja im grunde nicht schwer sein, funktioniert doch bei jeder eingabezeile so



  • Hallo. Was ist dein C++-Problem?



  • die berechnung vom substring im bezug zur länge der eingeblänge und der cursorposition und somit auch die berechnung wo sich den der cursor befindet.



  • Du kannst ja die Schritte zählen, die du nach links(?) gegangen bist und dann scrollen. Das musst du ja nur machen, wenn der Eingabestring grösser 7 ist.



  • jo, so in etwa mach ihc das auch.
    bzw, hab dafür 2 variablen. einmal die, die von rechts nach links zählt, mit der ich die position hab, für ein evtl einfügen in den string.
    und dazu hab ich die zählvariablke von links nach rechts die mir die zeichenkette in verschiedene sektoren teilt.
    so ist mein scrollen momentan, von zeichen 1-7 zu 8-14, ich sehe also immer 7 zeichen.
    problem ist jetzt aber, das ich den cursor ja 8 plätze zuweisen muss,
    da er ja je hinter einem zeichen ist, ausser beim 1. zeichen der sichtbaren zeichenkette, dann da kann er auch davor sein.


Anmelden zum Antworten