wulfgang Geschrieben 5. Mai 2009 Teilen 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. Mai 2009 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wulfgang Geschrieben 10. Mai 2009 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.