wulfgang Geschrieben 5. Mai 2009 Geschrieben 5. Mai 2009 Hallo, ich schreibe ein Programm(C++ unter Verwendung von MFC) mit Visual Studio als Entwicklungsumgebung. Nun habe ich eine ComboBox und möchte das aktuell ausgewählte Element ausgeben. Die ComboBox habe ich wie folgt initialisiert: m_From.AddString(strExplorerI); m_From.AddString(strExplorerII); m_From.AddString(strExplorerIII); m_From ist Variable der ComboBox. Nun habe ich bei der ComboBox einen Ereignishandler hinzugefügt. Bei Auswahl eines ComboBox-Elements soll das Element auf einem Fenster ausgegeben werden: void Programm::OnCbnSelchangeFrom() { CString cString; // Variable für den Text int index; index=1; index = m_From.GetCurSel(); m_From.GetDlgItemText(index, cString); AfxMessageBox(cString); } Aus irgendeinem Grund wird index kein gültiger Wert zugewiesen. Wieso?
Klotzkopp Geschrieben 5. Mai 2009 Geschrieben 5. Mai 2009 Aus irgendeinem Grund wird index kein gültiger Wert zugewiesen.Mich würde wirklich interessieren, wie du zu dieser Schlussfolgerung kommst. Mit dem Index ist vermutlich alles in Ordnung, nur GetDlgItemText ist die grundfalsche Methode. CComboBox::GetLBText Und beachte, dass man bei einer ComboBox mit dem Style CBS_DROPDOWN Texte selbst eingeben kann, die gar nicht in der Liste stehen. In diesem Fall liefert dir GetCurSel wirklich einen ungültigen Index.
wulfgang Geschrieben 10. Mai 2009 Autor Geschrieben 10. Mai 2009 Hallo, ja mit der Methode CComboBox::GetLBText funktioniert es! Mich würde wirklich interessieren, wie du zu dieser Schlussfolgerung kommst. Ich habe mal versucht mir Index ausgeben zu lassen und es kam auch eine Fehlermeldung ohne dass ich die Methode GetCurSel aufgerufen hätte. Grüße
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden