Veröffentlicht 13. November 200222 j ich habe ein Objekt der klasse CComboBox nun habe ich in meinem Projekt einen butten eingebunden der folgende funktion aufruft void CComboDlg::OnSetzen() { UpdateData(); m_combo.SetCurSel(2); UpdateData(FALSE); } aber es wird einfach kein anderes feld (in diesem fall feld mit dem Index 2) ausgewählt... ob ich jetzt das 0te oder 10te elemnt vorher angeklickt hab... es passiert einfach nix, wieso nicht???
14. November 200222 j Hast Du Deiner Combobox neben der Control- als auch eine Value-Variable verpasst? Wenn ja, liegt es daran: UpdateData() kopiert den Text aus der ComboBox in Deine Value-Variable.SetCurSel() ändert die Auswahl.UpdataData( FALSE ) schreibt den Inhalt der Value-Variablen wieder in die ComboBox, und macht damit Schritt 2 rückgängig. Da kann sich nichts ändern. Für Control-Variablen brauchst Du UpdateData normalerweise nicht aufzurufen, denn ein Werteaustausch findet dabei ohnehin nicht statt. Ich würde generell davon abraten, für ein Steuerelement sowohl eine Value- als auch eine Control-Variable einzurichten. Lass entweder UpdateData( FALSE ) weg, oder entferne die Value-Variable. An den Wert der ComboBox kommst Du auch über die Control-Variable.
14. November 200222 j Autor hab UpdateData(FALSE) weggelassen. pfunzt...bis jetzt hab ich keine weiteren Probleme mit der Controll und Value Variable... und hab sie jetzt auch schon in mein programm eingebunden => zu faul um sie zu empfernen hab jedoch schon wieder eine neue frage! giebt es einen wesentlichen unterschied zwischen CComboBox und CComboBoxEx?? bin über jede hilfe erfreut =)) Danke
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.