autoscroll bei CListBox, wie?
-
Hallo.
Zyklisch werden einem CListBox-Control Elemente hinzugefügt. Sobald mehr Elemente in der Liste sind, als anzeigbar, wird nicht automatisch der neuste bzw. der unterste Eintrag gezeigt. Scheinbar kennt die Liste das auto-scrolling nicht.
Wie kann ich das realisieren?
Mit setfocus() und dann setcursel() gehts irgendwie ned.Edit: Hey hat niemand eine Idee?
-
sky21 schrieb:
setcursel(int selection)
sollte das schon machen. Zuminderst macht es das bei meinem Listbox Control.
Das das Ding nicht automatisch scrollt ist logisch, da es ja nicht weis wohin es scrollen soll. Bei deiner appendenden Erweiterung gebe ich dir recht, könnte es schon(automatisch) nach scrollen, aber nehmen wir mal an, dass du unten und oben Einträge uberhängen hast, wofür soll er sich dann entscheiden. Darum ist es besser im die Richtung anhand einer selectierung vor zu geben.Irgendwo musst du einen Fehler drin haben, fragt sich nur wo?
Also post mal ein bisschen code damit man sieht was drin steht. :p
codeman
-
Ich habe es so gemacht:
// Anzahl der Zeilen im Listenfeld auslesen int nZeile = m_ctlListBox1.GetCount(); // In aktuelle Zeile scrollen m_ctlListBox1.SetCaretIndex(nZeile);
-
Gabs da nicht auch noch CListCtrl::EnsureVisible ?
-
Bei mir funktioniert das so:
m_ctlListbox.SetCurSel(m_ctlListbox.AddString(strText));