Wie bestimme ich wann ein Zeichen in eine Editbox eingegeben wird?
-
Hi,
ich habe folgendes Probelm. Ich will, dass wenn bei meiner Editbox ein Zeichen eingegeben wurde ein Boolean verändert wird. Leider habe ich meine Editbox mit hilfe der CreateWindowEx-Funktion erstellt und besitze daher keine eigene Nachrichtenverarbeitungsprozedur für die Editbox.
Gibt es irgendeinen Weg trotzdem rauszubekommen, wann ein Zeichen eingeben wurde, um damit den Boolean zu verändern?
-
Du kannst einfach im Messagehandler des Elternfensters die WM_COMMAND behandeln und dort auf die EN_CHANGE warten und dein Edit raussuchen. Siehe MSDN -> EN_CHANGE
-
Thx ich schau mal nach.
-
Für alle die das selbe oder ein ähnliches Problem haben. Die EN_CHANGE Nachricht steht dann im HIWORD vom wParam, nicht im LOWORD wie üblich, d.h. man fängt dich Nachricht so ab:
... case WM_COMMAND: switch(HIWORD(wParam)) { case EN_CHANGE: if((HWND)lParam==hEdit) { ...