ListView(ListControl) Elemente zählen!?
-
Ich würde gerne wissen, wie man die Anzahl der Elemente in einer ListView herausbekommt??
Danke!

-
-
int n;
n = ListView_GetItemCount(hWnd, ctrlID)Habe es jetzt versucht in eine MessageBox auszugebe...funktioniert aber nicht?!
-
int nItems = ListView_GetItemCount(hWndListView);
-
Und wie kann ich das Ergebnis ausgeben??
-
Genauso wie jede andere Integer-Zahl.
-
Und wie gibt man die aus?
-
Was ist daran falsch??
MessageBox(hwnd,(CHAR)nItems,"MessageBox",MB_OK);
-
CHAR != LPWSTR, das ist falsch ... um eine Integer zum String zu machen benutze swprintf() ...
EDIT:
... und da du das sowieso nicht alleine hinbekommst, weil du es gar nicht erst versuchst, wirst DU mit dem entsprechenden Code belohnt und WIR haben unsere Ruhe:#include <stdio.h>
...
wchar_t szBuffer[4];
swprintf(szBuffer, 4, L"%d", nItems);
MessageBox(hwnd, szBuffer, "MessageBox", MB_OK);...
-
Dankeschönn....trotzdem stellt sich mir die Frage warum nur die ersten 9 Einträge gezählt werden..das heißt das er nach dem 9 Eintrag wieder bei 1 beginnt..??
-
ne
-
Das Array (der String) kann 3stellige Zahlen aufnehmen, szBuffer[3] ist die NULLTERMINATION.
-
Ich habe aber das BSP nso übernommen wie gepostet..und er zählt trotzdem nur bis 9 rauf???
-
mach mal den Puffer größer ..
-
Habe ich bereits probiert....funktioniert nicht..er kommt bis 9 und dann zeigt er immer nur 1 an....
-
Ich wäre an Deiner Stelle mal ganz mutig und würde den Code im Debugger durchlaufen lassen. Da lässt sich dann auch der Wert von nItems direkt betrachten.
-
Wie denn wenn das alles ne dll wird??
MFG
-
Also ich habe es jetzt aauch mit dem Befehl
lResult=SendMessage(myList,LVM_GETITEMCOUNT,0,0)versucht!
Es passiert genau das gleiche...er zählt bis 9 rauf und dann gibt er immer nur ne 1 aus...
Jemand ne Idee??
-
- Als zu debuggende Anwendung die Anwendung wählen, welche die debuggende Dll laden soll
- Brechpunkt in der Dll setzen
- Debug-Sitzung starten
-
ListView schrieb:
Also ich habe es jetzt aauch mit dem Befehl
lResult=SendMessage(myList,LVM_GETITEMCOUNT,0,0)versucht!
Es passiert genau das gleiche...er zählt bis 9 rauf und dann gibt er immer nur ne 1 aus...
Jemand ne Idee??Deine Ausgabe passt nicht.