Hilfe bei CListCtrl

damaja

Grünschnabel
Hallo,
Ich habe ein kleines Dialogfenster mit einer Liste darin. In dieser Liste würde ich gerne einige Zeilen mit mehreren Informationen ausgeben.
Hier nun meine Fragen:
- Gibt es vielleicht irgenwo eine kleine Einleitung zu diesem Thema, da ich mich damit noch gar nicht beschäftigt habe. Vielleicht steht dort auch schon die Lösung für meine restlich Fragen.

- Wie genau initialisiere ich so eine Liste?

- Kann ich eine feste Länge für die Liste vergeben, und dann alle meine Nachrichten einfach reinschieben? wenn es mehr als die angegebene Länge werden, fliegen die ersten einfach raus.

- Kann ich ich für einzelne Nachrichten einen festen Platz in der Liste bestimmen, und diese dann gezielt ersetzten?


Danke schon mal für eure Hilfe
 
Ich schlage dir dieses Beispiel vor: Klick

- Wie genau initialisiere ich so eine Liste?
Du erzeugst mit InsertColumn() eine oder mehrere Spalten. Neue Zeilen (Items) werden mit InsertItem() erzeugt. Das ist zwar keine genaue Erklärung, aber die Details kannst du im Beispiel nachsehen. Wenn dann noch Fragen auftauchen: Nur her damit!

- Kann ich eine feste Länge für die Liste vergeben, und dann alle meine Nachrichten einfach reinschieben? wenn es mehr als die angegebene Länge werden, fliegen die ersten einfach raus.
Feste Länge gibt es nicht. Ich würde nach dem Einfügen eines neuen Eintrages folgende Schleife auf die Liste loslassen:
Code:
while ( meineListe.GetItemCount() > maxAnzahl )
  meineListe.DeleteItem( 0 );
Das löscht solange das erste Item (Zeile), bis die maximale Anzahl erreicht ist.

- Kann ich ich für einzelne Nachrichten einen festen Platz in der Liste bestimmen, und diese dann gezielt ersetzten?
Ja, du kannst bei InsertItem() die Position angeben, wo das neue Item eingefügt werden soll. Sortieren ist ebenfalls möglich.
 
Zuletzt bearbeitet:
Zurück