CListCtrl Scrollen
-
Hallo,
ich hoffe, ihr könnt mir helfen:
ich habe eine CListCtrl in der Berichtsansicht (Tabellenform).
Diese Liste fülle ich mit Namen (Vorname, Nachname ...). Es sind so viele, daß
die CListCtrl einen vertikalen Scrollbalken erzeugt.
Jetzt ist meinetwegen ein Name sehr weit unten in der Liste vom Benutzer selektiert worden,
(z.B. Hans Mustermann).
Nun möchte ich die Liste neu aufbauen, d.h. alle Elemente löschen und neu einfügen.
Nach dem Neuaufbau möchte ich den zuletzt ausgewählen Namen (Hans Mustermann) wieder
selektieren. Das funktioniert auch prima.
Nur nach dem Neuaufbau ist die CListCtrl nicht zur richtigen Stelle gescrollt, sondern ist
mit dem Scrollbalken ganz oben. Man sieht die Selektierung also erst wieder, wenn man
nach unten zu Hans Mustermann scrollt.
Dies möchte ich automatisieren. Ich möchte so weit runterscrollen, so daß der erste
Sichtbare Eintrag der selektierte Eintrag Hans Mustermann ist.Wie mache ich das ???
Ein Codebeispiel währe mir sehr lieb.Danke im voraus !!!
-
Ich wüßte jetzt, wie ich es mit CListCtrl:Scroll() mache.
Aber wie bekomme ich die Höhe einer Zeile, d.h. von einem Eintrag (in Pixel) ???
-
Nun möchte ich die Liste neu aufbauen, d.h. alle Elemente löschen und neu einfügen.
Löscht Du beim Texteditieren auch immer erst den ganzen Text weg, nur weil Du ein Wort selektieren willst?
-
Original erstellt von RenéG:
**[quote]
Nun möchte ich die Liste neu aufbauen, d.h. alle Elemente löschen und neu einfügen.
****
Löscht Du beim Texteditieren auch immer erst den ganzen Text weg, nur weil Du ein Wort selektieren willst?**[/QUOTE]
it's feature not a bug
-
Hi!
Also das einfachste ist die Funktion CListCtrl::EnsureVisible(). Die sollst du dir anschauenGruß.