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.