Combobox Message Handling
-
Hallo,
da ich mich erst seit neuestem mit der MFC herumschlagen muss, tauchen mitlerweile einige Probleme auf, da ich bis dato die meiste Erfahrung mit der Delphi VCL gemacht habe.
Konkret: Bei Delphi ist es möglich die Message Handler mehrerer ComboBoxen in einem zu vereinen und diese für z.B. das onChange Ereigis zu registrieren.
Also:procedure CMyClass.ComboBox1onChange(Sender THandle) procedure CMyClass.ComboBox2onChange(Sender THandle)
zu
procedure CMyClass.ComboBoxonChange(Sender THandle) begin if (Sender = CbBox1) then begin // Do something end else if (Sender = CbBox2) then begin // Do something else end; end;
Ist so etwas auch mit der MFC möglich?
In der Message Map kann man ja problemlos die folgenden Einträge generierenON_CBN_SELCHANGE(IDC_COMBO_1, &CMyClass::OnCbnSelchange) ON_CBN_SELCHANGE(IDC_COMBO_2, &CMyClass::OnCbnSelchange)
Leider habe ich keine Ahnung, wie ich dann innerhalb der OnCbnSelchange an das Objekt komme, dass dieses Ereignis ausgelöst hat.
z.B. Analog zu dem Delphi Code
void CMyClass::OnCbnSelchange() { if (Sender == IDC_COMBO_1) { // Do something } else if (Sender == IDC_COMBO_1) { // Do something else }
Ist dies in irgendeiner Form überhaupt möglich? Google hilft mir leider kein Stück weiter
Gruß
Johannes
-
Schau mal hier:
http://social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/0ff4fe96-3052-4e19-9b6c-d0326fb8f67c/
und hier:
http://www.codeproject.com/Questions/124904/ON_CONTROL_RANGE
-
1000 Dank!
Genau danach habe ich gesucht!