Nachricht Reagiert nicht



  • Hallo Leute,

    ich möchte gerne einer Instanz der Klasse CEdit eine zusätzliche Nachricht
    hinzufügen(ON_WM_KEYDOWN),die in der nachrichtentabelle für diese Klasse nicht vorgesehen ist.

    Dazu habe ich folgendes ausprobiert:

    In der Deklaration:
    afx_msg void OnKeyDownEditEingabe(UINT nChar, UINT nRepCnt, UINT nFlags);
    In der Implementierung unter BEGIN_MESSAGE_MAP:
    ON_WM_KEYDOWN(IDC_EDIT_EINGABE,OnKeyDownEditEingabe)

    Ich kann zwar die Methode mit Funktionen versehen,
    das Programm wird fehlerfrei compiliert/gelinkt,die Nachricht wird aber
    be der Aushührung(Tastendruck auf das Edit Steuerelement) gar nicht beachtet.

    Welche Schritte sind noch notwendig?

    Vielen Dank für Eure freundliche Hilfe!

    Dominik



  • Hallo Leute,

    Weiß es wirklich niemand ?
    Habt Ihr wirklich keine benutzerdefinierte Nachrichten für Steuerelemente
    verwendet?

    Bitte nochmals um Hilfe.

    Dominik



  • Könnte es vielleicht daran liegen, dass ein CEdit gar nicht auf WM_KEYDOWN reagiert?

    Versuch es lieber mal mit EN_CHANGE.



  • 💡 Wenn das so wirklich nicht klappt, musst du wohl eine neue Klasse auf Basis von CEdit erzeugen. Hier kannst du die OnKeyDown-Methode wirklich überschreiben...



  • du musst noch eine behandlung für WM_GETDLGCODE einbauen und dort return DLGC_WANTALLKEYS; einfügen.



  • nein meine antwort stimmt doch nicht 🤡 🤡


Anmelden zum Antworten