Problem mit Listbox und getcount()
-
Moin miteinander,
bin gerade am Verzweifeln. Ich will die Anzahl der Elemente in einer Listbox auslesen. Das habe ich in meinem Programm auch schon getan.
Aber an einer Stelle funktioniert es einfach nicht und ich habe keine Ahnung
warum.
Das markieren würde klappen, wenn ich in der unteren Zeile einen Zahlenwert eingeben.
m_Auftraegecontrol ist die Controlvariable der Listbox.int Anzahl = m_Auftraegecontrol.GetCount(); m_Auftraegecontrol.GetCurSel(Anzahl);Wo könnte der Fehler liegen? Mit UpdateData() hab ich auch schon rumgespielt.
Ich hoffe, dass mir jemand nen heißen Tip liefern kann.
Gruß tony
-
Erstens: Um ein Listenelement auszuwählen, solltest du besser SetCurSel() verwenden. (GetCurSel() sagt dir nur, welcher Eintrag gewählt war - und nimmt im Übrigen keinen Parameter entgegen)
Zweitens: Der Index beginnt bei Null, darum hat das letzte Element den Index 'Anzahl-1'.
-
wohin soll den GetCurSel() den wert schreiben, sprich Index.
In den Luftleeren Raum
??ändere mal die Zeile so ab.
// Selektierten Indexwert ermitteln int wert = m_Auftraegecontrol.GetCurSel();
-
Und ggfs. solltest Du den Rückgabewert von SetCurSel() auswerten, und wenn es nur ein
VERIFY(m_listbox.SetCurSel(n) != LB_ERR);ist. Bei Fehlern wird man dann zumndestens in der DEBUG Version mit der Nase drauf gestossen.
-
Ups, sorry,
sollte natürlichint Anzahl = m_Auftraegecontrol.GetCount(); m_Auftraegecontrol.SetCurSel(Anzahl);heißen.
Stimmt, Anzahl-1 -> das wars.
Viele Dank euch
