[editbox] EM_SETSEL unter geblockter WM_CHAR Nachricht



  • Ich verwende eine Multiline Editbox, wobei ich den Text vollständig selbst verarbeite (geht in meinem Fall nicht anders, da ich mehr als ein Zeichen pro Tastendruck bearbeiten muss). Daher blocke ich die WM_CHAR-Nachricht (return 0) und füge den Text via SetWindowText ins Edit ein.
    Das Problem ist jetzt, dass ich den Line-Cursor nicht richtig setzen kann. Probeweise ließ sich der Cursor bis jetzt immer ans Ende des Textes verschieben, aber jetzt wo ich das Löschen von markiertem Text oder Zeichen mitten im Text realisiert habe, wird der Cursor immer ans Ende gesetzt, egal was ich in SendMessage(..,EM_SETSEL,..) angebe.

    Werden als Parameter für WPARAM und LPARAM sicher die Zahlen und nicht die Zeiger verlangt?


  • Mod

    Ja. EM_SETSEL will nur die Position und das funktioniert eigentlich auch zuverlässig.
    Was passiert denn genau bei Dir?

    Du setzt den neuen Text mit SetWindowText und dann set Du mit EM_SETSEL die Position? Das müsste eigentlich gehen.



  • jep hat funktioniert, hatte die Zeiger, also eine 8-stellige, Zahl als Position übergeben, darum wurde der Cursor immer an die letzte Stelle gesetzt...


Anmelden zum Antworten