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 generieren

    ON_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





  • 1000 Dank!

    Genau danach habe ich gesucht! 👍


Anmelden zum Antworten