Aswerten einer ComboBox schlägt fehl



  • Hallo,

    ich habe ein Problem beim Auslesen des selektierten Indexes einer Combobox.
    Die Box befindet sich in einem zweiten Dialogfenster.
    So habe ich es versucht:

    int nIndex = OPTIONS::m_Key->GetCurSel();
    

    Folgenden Fehler erhalte ich:
    left of '->GetCurSel' must point to class/struct/union

    Wie schreibt man das korrekt?
    Sorry ich kenne mich einfach noch nicht gut genug aus um das alleine zu lösen...
    Vielen Dank an alle die mit mir Mitleid haben :p



  • Vermutlich

    OPTIONS::m_Key.GetCurSel();
    

    Aber Empfehlen würde ich Dir das nicht. Der Dialog soll lieber eine Member-Variable oder eine Methode zur Verfügung stellen, die das zurückliefert was extern benötigt wird. Sonst wird Dein Code mal sehr unübersichtlich, wenn Du von überall in alle Klassen "reinlangst"!



  • Danke für deinen Tipp!
    Die Fehlermeldung ist nach wie vor die gleiche.
    Hat du / jemand noch eine Idee woran das liegen könnt?
    Danke vielmals!



  • Okay ich habe es gelöst, ziemlich quick and dirty.
    sagt mir mal was ihr davon haltet:

    - Ich habe eine membervariable vom Typ unsigned int erstellt: Name:option.
    - Als nächstes habe ich der ComboBox die Function

    unsigned int OPTIONS::OnSelchangeOPUsedKey() 
    {
    	option = m_Key.GetCurSel();
    	return option;
    	// TODO: Add your control notification handler code here
    
    }
    

    ⚠
    Da immer Functionen vom Typ mit dem Rückgabewert void (also nix) erstellt werden habe ich es einfach in unsigned int geändert.
    Ist das gut?
    gehts besser?

    anschließend werte ich das gedöns dann mit

    switch(OPTIONS::option)...
    

    aus.

    So geht es jedenfalls.
    Da ich lieber sauber programmieren möchte wäre ich sehr dankbar wenn mir jemand eine NORMALE akzeptierte Alternative nennen könnte.
    Danke! 😋



  • Ich persönlich würde die Member-Variable "option" nur setzen, wenn OnOk aufgerufen wird... sonst ist es ja überflüssig...



  • Danke Jochen!
    Vielleicht läuft man sich ja über den weg,
    http://www.sie-sind-da.de/



  • Mich triffst Du auf dem "Ask the Experts"-Stand 😉 Darfst gerne auch ohne Frage vorbeischauen!


Anmelden zum Antworten