Avatar billede orca Nybegynder
15. november 2001 - 22:20 Der er 6 kommentarer og
1 løsning

Antal valgte

Hej. Jeg har en ListView i mit program. Hvordan kan jeg finde ud af hvor mange \"items\" der er valgt? Med multiple select på.

Mvh Mark
Avatar billede bennytordrup Nybegynder
15. november 2001 - 23:26 #1
Public Const LVM_FIRST = &H1000 \'// ListView messages
Public Const LVM_GETSELECTEDCOUNT = (LVM_FIRST + 50)

Public Function ListView_GetSelectedCount(hwnd As Long) As Long
    ListView_GetSelectedCount = SendMessage(hwnd, LVM_GETSELECTEDCOUNT, 0&, ByVal 0&)
End Function
Avatar billede orca Nybegynder
15. november 2001 - 23:40 #2
Den brokker sig over en manglende SendMessage funktion, og hvad skal hwnd være? (Parameteren til ListView_GetSelectedCount).

MVh Mark
Avatar billede bennytordrup Nybegynder
16. november 2001 - 08:30 #3
Public Declare Function SendMessage Lib \"user32\" Alias \"SendMessageA\" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long


hWnd til ListView_GetSelectedCount er hWnd-propertyen fra det ListView, hvor du vil have SelectedCount fra
Avatar billede jper Nybegynder
16. november 2001 - 11:23 #4
Man kan også gøre det på den nemme måde, lav en knap og en list box med navnet list1 og fyld nogle items i den, og slå multiselect til:

Paste denne kode stump ind og den vil lave en messageboks for hver item der er valgt:
Private Sub Command1_Click()
Dim lItem As Integer

For lItem = 0 To List1.ListCount - 1
    If List1.Selected(lItem) Then
        MsgBox \"Denne er valgt: \" & List1.List(lItem)
    End If
Next lItem


End Sub
Avatar billede bennytordrup Nybegynder
16. november 2001 - 11:56 #5
jper >> Prøv de to metoder hver især og tag tiden på dem.
Avatar billede orca Nybegynder
16. november 2001 - 15:50 #6
Jeg fik det til at virke. Tak for svaret benny.

Mvh Mark
Avatar billede jper Nybegynder
17. november 2001 - 00:13 #7
benny -> Nu var performance ikke en del af spørgsmålet, vel?

API kald i VB giver flere problemer end det løser for den uøvede, og mellem os, så bruger man MCF til GUI hvis man skal have performance.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester