Enter abfangen in Edit-Box



  • Hallo allerseits,
    ich sitze schon zwei Tage am folgendem Problem:
    Ich habe in einem Dialog mehrere Edit-Boxen, nun möchte ich daß der Benutzer z.B. einen String eingibt und mit Enter bestätigt, danach soll der Fokus an das nächste Feld übergehen -> wie die Tab-Taste.
    Ich habe nun die Funktion OnOk() überschrieben weil sonst der Dialog zugeht, das bringt aber nichts, weil OnOk() nicht aufgerufen wird sobald ein Edit-Feld den Fokus hat 😞
    Kann mir einer helfen...
    Im Voraus Danke!!!
    TiTaN



  • Wenn ein EditControl den Focus hat dann wird OnOK aufgerufen. Ausser es hat ES_MULTILINE und ES_WANTRETURN. (Mehrzeilig und Return möglich)

    OnOK wird aber nur aufgerufen wenn es keinen anderen Button gibt der das Style 'BS_DEFPUSHBUTTON' hat.



  • Steht auch in der FAQ was dazu ...

    [ Dieser Beitrag wurde am 11.08.2002 um 11:44 Uhr von dEUs editiert. ]



  • Hallo,
    @dEUs
    Die FAQ habe ich schon durchgestöbert und mit OnOK() und OnCancel() war es mir schon bekannt, mein Problem war es nur das ein Button die Eigenschaft 'BS_DEFPUSHBUTTON' hatte und immer mit Enter aufgerufen wurde. Trozdem Danke 🙂
    @Nemesyzz
    Super! Genau das habe ich gesucht -> Danke :):):)
    Ich habe jetzt die Eigenschaft 'BS_DEFPUSHBUTTON' bei den Buttons entfernt und die Routine OnOK() mit Tab so realisiert:

    void CAnlNeu::OnOK()
    {
    //TODO: Überprüfung der Eingabe
    NextDlgCtrl(); // Fokus auf das nächste Element -> TAB-Taste
    }
    

    Gruss
    TiTaN



  • Wlscher Komiker schreibt hier dauernd solsche Beitrage rein? Is wirklich net Lustig. Vielleicht sollte man nur noch neue Beiträge von Angemeldeten Mitgliedern zulassen.

    Gruß Matthias


Anmelden zum Antworten