CEdit - Scrolling bei Textänderung verhindern



  • Moin!

    Ich habe mir eine "Autoscroll" Funktion in ein mehrzeiliges Edit-Feld gebaut, indem ich nach der Textänderung einfach SetSel aufrufe und dort das letzte Zeichen des Texts selektiere. Das klappt ganz gut, jedoch wird kurz bevor er ans Ende springt nochmal ganz bis oben gescrollt. Dieses Verhalten scheint von der Textänderung ausgelöst zu werden - Es passiert auch ohne "Autoscroll", wenn man z.B. manuell ans Ende scrollt und dann den Text per UpdateData(false)/SetWindowText oder wasauchimmer ändert. Kann man das irgendwie verhindern? Bei viel Textinhalt flackert das ziemlich hässlich.



  • Schau dir mal LockWindowUpdate und UnloockWindowUpdate an. Damit sollte sich dein Problem erschlagen lassen. also erst locken dann text updaten dann zur stelle scrollen und dann unlocken und fertig.

    Gruß Matthias


  • Mod

    Führe die Textergänzung, bzw. Änderung nicht mit SetWindowText sondern mit CEdit::ReplaceSel aus.



  • Funktioniert irgendwie beides nicht besonders gut 😞 Hab das olle Editfeld einfach durch eine Listbox ersetzt. Die scrollt super 🙂


Anmelden zum Antworten