Eintrag in die ListView
-
Hallo!
Wie ist es möglich das ich die Einträge die in der ListView vorgenommen werde in die nächste Zeile schreibe?Mein Problem: Wenn neue Zeilen hinzugefügt werden(in die neue Zeile geschrieben wird) rutscht der erste Eintrag auf die 2 Position! Jedoch würde ich gerne haben, dass der neue Eintrag die 2 Position einnimmt und nicht die erste!
Hoffe dass mein Problem verständlich ist!
MFG
-
Du musst das mit den entsprechenden Macros selber machen.
Ich hab selber noch nix mit ListView gemacht, aber ListView_SetItemPosition() könnte das Richtige sein. Einfach mal in der MSDN nachlesen.[EDIT]Du kannst deine Items auch einfügen mit dem ListView_InsertItem Macro ... in der Struktur die du mittels Pointer als 2. Argument übergibst kannst du über den Member iItems die Position angeben wo eingefügt werden soll.[/EDIT]
-
Du brauchst entweder eine Variabele die dir die aktuelle Anzahl der Items im Listview speichert, oder du holst dir vor dem Einfügen eines neuen Item mit "ListView_GetItemCount" die Anzahl. Danach musst du bei "LVM_INSERTITEM" in der LVITEM Struktur das Member "iItem" auf die Zahl der Elemente im Listview setzen. "iItem" = die Position des neu einzugügendem Items vobei 0 = erstes Elemnt ist.
-
LV User schrieb:
Du brauchst entweder eine Variabele die dir die aktuelle Anzahl der Items im Listview speichert, oder du holst dir vor dem Einfügen eines neuen Item mit "ListView_GetItemCount" die Anzahl. Danach musst du bei "LVM_INSERTITEM" in der LVITEM Struktur das Member "iItem" auf die Zahl der Elemente im Listview setzen. "iItem" = die Position des neu einzugügendem Items vobei 0 = erstes Elemnt ist.
Einfach "iItem = 0x7FFF" angeben. Das fügt immer am Ende ein.
-
sri schrieb:
Einfach "iItem = 0x7FFF" angeben. Das fügt immer am Ende ein.
Kann ich nicht anraten, denn Listviews verkraften locker mehr als 32kb Zeilen!
Wenn schon 0x7fffffff, aber ob das wieder geht weiß ich nicht.Ich verwende immer GetCount.
-
0x7fffffff geht nicht, 0x7FFF ist das höchste, was geht.
Macht natürlich nur Sinn, wenn man nicht mehr als 32767 Einträge verwendet. Aber man weiß ja in der Regel vorher, welche Fülle in Frage kommt.