Enter-Taste im Eingabefeld drücken
-
Hi Leute
Weiß einer, wie ich das oben erwähnte Ereignis behandeln kann? Es handelt sich um ein einzeiliges Feld. Soll ich es subclassen und WM_KEYDOWN behandeln? Oder gibts da eine schnellere Methode? Weil normal hat ja mein Eingabefeld keine eigene Window-Procedure.
Danke für eure Hilfe
Euer Danny
-
Na du müsstest doch nur feststellen, ob das edit-Feld den Fokus hat ... geht das nicht?
-
Der gedanke ist gut. aber das problem dabei ist, wenn das eingabefeld den fokus hat, empfängt das Hauptfenster keine WM_KEYDOWN Nachrichten mehr.
Die gehen dann alle an des Edit..
-
oha ... das ist natürlich unschön .. dann wohl doch so wie du beschrieben hast ..
-
Multiline edit control verwenden und ES_WANTRETURN
http://msdn.microsoft.com/en-us/library/aa251493(VS.60).aspx
-
Tolle Karte!
Und dann über EN_CHANGE abfragen ob am Ende des Textes ein '\n' steht o.ä.
Na dann doch lieber subclassen und WM_KEYDOWN abfragen
Dachte des geht iwie einfacher
-
Nein! Warum? Im Multiline einfach kein vertical Scroll erlauben und man hat einen einzeiler...
BTW: Wenn es sich um einen Dialog handelt ist ES_WANTRETURN die einzige Chance, denn sonst frisst der Dialog die Eingabetaste...
-
Also es handelt sich bei mir nicht im eine Dialogbox sondern um ein Fenster das ich per CreateWindow erstellt habe.
-
man kann es auch über die PreTranslateMessage() Funktion machen
-
ups .. ich glaub das war MFC ..