Verständnissfrage zu Combobox mit Editfeld



  • Hallo,

    ich habe in meinem Dialog eine Combobox mit Editfeld. Z.Z. benutze ich zur Auswertung der Eingabe im Editfeld einen Button, der ließt das Feld aus und führt eine Aktion aus. Nun würde ich gerne auch eine Auswertung des Feldes erhalten, wenn ich eine Eingabe dort mache und anschliessend die ENTER Taste drücke. Wie kann ich das bewerkstelligen? Ich habe schon versucht im Eventhandler des Dialogs die Messages WM_NOTIFY->NM_KEYDOWN oder auch WM_NOTIFY->NM_RETURN abzufangen, aber die scheinen bei dieser Control nicht geschickt zu werden. Fehlt mir da ein Style bei der Definition der Combobox oder muss ich gar die Combobox subclassen? Wer kann helfen?

    Danke schon mal



  • Hast Du den Button als "Standardschaltfläche" des Dialogs gesetzt?



  • Ja hab jetzt mal den Button als Standardschaltläche des Dialogs gesetz, konnte aber keinen Unterschied bei der Bedienung feststellen.



  • Naja, also wenn Du da nichts vermurkst hast (fängst Du vllt. irgwas ab, was Du nicht abfangen solltest 😃 ?!), sollte er -beim Drücken von [Enter]- diese Standardschaltfläche betätigen 🙄 .



  • Also das klappt immer noch nicht. Vielleicht erstelle ich die Dialogbx ja falsch, hier der Code aus dem *.rc File

    DLG_RCON	DIALOG DISCARDABLE  0, 0, 390, 270
    STYLE		DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_CAPTION |  WS_VISIBLE | WS_SYSMENU | WS_POPUP
    CAPTION		"Tool Dialog v1.0"
    MENU		DLG_MENU1
    

    hat jemand eine Idee?


  • Mod

    Was ist denn nun Dein Problem? Dass sich der Dialog beim Drücken der Engabetaste schließt?, oder willst Du wissen wenn der User etwas in der ComboBox auswählt, dann schau die mal CBN_SELCHANGE an.



  • Also bei normalen Drücken des Standartbuttons mit der Maus, wird folgendes ausgeführt: der manuell eingegebene Text in der Combobox (mit Editfeld) wird ausgelesen und eine Aktion wird ausgeführt. Und das will ich erreichen, wenn ich nur die ENTER Taste drücke ohne mit der Maus den Button dafür explizit gedrückt zu haben.


Anmelden zum Antworten