Zwei Formularfelder mit einem Ereignishändler?
-
Hi,
ich brauche ein wenig Nachhilfe.
Wie kann ich zwei Formularfelder mit ein und demselben Ereignishändler (ON_EN_CHANGE) belegen?
Danke für Eure Hilfe!
Gruß Elayas
-
Ja
-
Ja
-
Hi,
damit habt ihr das "Ob" beantwortet, aber nicht das "wie".
Ich bekomme nämlich immer die Meldung, dass die Funktion überladen ist.
Gruß Marc
-
Du jast ja auch nur nach dem "ob" gefragt

Dioe Funktion darf natürlich nur einmal deklariert + implementiert werden, du brauchst aber zwei Message-Map-Einträge, die jeweils auf die gleiche Funktion verweisen:
class CFormFoo { // ... DECLARE_MESSAGE_MAP(); void OnChangeEdit(); }; BEGIN_MESSAGE_MAP(CFormFoo, CForm) ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit) ON_EN_CHANGE(IDC_EDIT2, OnChangeEdit) END_MESSAGE_MAP() void CFormFoo::OnChangeEdit() { ::MessageBeep(IDOK); }Wenn's mehr als zwei Controls sind, können die ON_COMMAND_RANGE und ON_CONTROL_RANGE macros hilfreich sein.
-
peterchen schrieb:
Du jast ja auch nur nach dem "ob" gefragt

Quark! (s. u.)
Oder antwortest du auf 'wie alt bist du?' auch mit 'ja'?Elayas schrieb:
Wie kann ich zwei Formularfelder mit ein und demselben Ereignishändler (ON_EN_CHANGE) belegen?
Du kannst aber auch wenn du mit dem Assistenten arbeitest jedesmal einfach die gleiche Methode angeben.