ShortCut ComboBox



  • Hallo,

    in meiner ComboBox soll man einen ShortCut auswählen können.
    Am Anfang soll die Box einen bestimmten Wert haben.

    comboBox->DataSource = System::Enum::GetValues(__typeof(Shortcut));
    comboBox->SelectedItem = Shortcut::F1;                              //Fehler
    

    Bei C# funktioniert es.

    comboBox.DataSource = System.Enum.GetValues(typeof(Shortcut));
    comboBox.SelectedItem = Shortcut.F1;
    

    Was fehlt bei C++?



  • Unter VC2005 geht folgendes Problemlos:

    this->comboBox1->DataSource = System::Enum::GetValues(AnchorStyles::typeid);
    this->comboBox1->SelectedItem = AnchorStyles::Bottom;
    

    Unter VC2003 folgendes:

    this->comboBox1->DataSource = System::Enum::GetValues(__typeof(AnchorStyles));
    this->comboBox1->SelectedItem = __box(AnchorStyles::Bottom);
    


  • Danke, mit __box(...) geht es.

    comboBox->DataSource = System::Enum::GetValues(__typeof(Shortcut));
    comboBox->SelectedItem = __box(Shortcut::F1);
    

    Und wie geht es in die andere Richtung?

    Shortcut s = comboBox->SelectedItem;        //Fehler
    


  • Etwas umständlich in VC2003:

    AnchorStyles as = *dynamic_cast<__box AnchorStyles*>(this->comboBox1->SelectedItem);
    


  • Und in VS2005?



  • Na, ganz einfach:

    AnchorStyles as = (AnchorStyles) this->comboBox1->SelectedItem;
    


  • Danke, ich habe auch VS2005. Es ist nur ein altes Projekt, das ich noch mit VS2003 erstellt habe.


Log in to reply