Zeilen-Index?
-
Angenommen ich habe in meiner LVITEM Struktur den Index des Eintrages.
Den Eintrag kann ich ja nun ganz einfach löschen oder bearbeiten, meine Frage nun: Gibt es eine Möglichkeit irgendwie die ganze Zeile zu löschen, in der der Eintrag steht?Als Macros gibts nur diese:
ListView_DeleteAllItems - Löscht alle Einträge in der ListView
ListView_DeleteColumn - Löscht die angegebene Spalte in der ListView
ListView_DeleteItem - Löscht den angegebenen Eintrag in der ListView.Ich suche jetzt praktisch sowas wie "ListView_DeleteRow", was leider nicht existiert.
Muss ich alle Spalten zählen und dann die Spaltenanzahl auf den Index drauf rechnen bzw. abziehen, um somit alle Items herauszubekommen und dann einzeln zu löschen? Ein bisschen umständlich, mehr fällt mir nicht ein. Bitte um Hilfe.
-
Welchen Style hat den das ListView?
-
ListView_DeleteColumn gibt es nicht, weil eine Zeile == ein Item.
Die Spalten werden von Sub-Items gebildet.Bzw. falls sich die "Spalten" und "Zeilen" dadurch ergeben, dass mehrere Items nebeneinander stehen, dann kannst du mit ListView_DeleteColumn auch nicht so eine "Spalte" löschen.
-
Es sind mehrere verschiedene, somit wird es wahrscheinlich schwer(er).
Diese Informationen kann ich jedoch geben:Class SysListView32
Text List1
Style 0x50210001
ExStyle 0x00000204Bei der folgenden ListView wird sofort die ganze Zeile gelöscht, auch wenn ich nur ein Item lösche, relativ komisch aber in Ordnung für mich.
Class SysListView32
Text List1
Style 0x52018A41
ExStyle 0x00000200Woraus sich zum Beispiel das 0x00000200 zusammensetzt, weiß ich nicht.
-
kurzefrage schrieb:
Woraus sich zum Beispiel das 0x00000200 zusammensetzt, weiß ich nicht.
und Andere sollen nun das tun, wozu du zu faul bist!
-
Ich habe gesagt, dass ich nicht weiß woraus es sich zusammensetzt und nicht das ich zu faul bin... Fakt ist, dass iich bei einigen styles nur 1 Item löschen muss damit die ganze zeile entfernt wird...
-
Item==Row!
Man muss immer nur eine Zeile löschen um ein Item "ganz" zu entfernenIch verstehe Deine Frage nicht.
Um was für eine Anzeige geht es denn? Scheinbar willst Du ja in fremden Programman rumhacken, sonst würdest Du uns ja keine Hex-Zahlen geben.Grundsätzlich: Beide Controls sind vom Stil LVS_REPORT! (Bit 0 gesetzt).
D.h. Eine Zeile wird immer durch ListView_DeleteItem gelöscht!
-
Dabei handelt es sich in der Tat nicht um meine eigenen Controls, das hätte ich vielleicht vorher erwähnen sollen. Ich teste das Ganze morgen noch einmal und gucke dann, ob es funktioniert.