25. oktober 2002 - 01:32Der er
11 kommentarer og 2 løsninger
ListView1.ListIndex
Halløj XP's
Jeg sidder med en ListView hvor jeg meget gerne skulle have fat i den første "record" i listen hvis man kan kan kalde det det. Med en alm. listbox kan man jo bare skrive:
list1.listindex = 0
Så har man fat i record nr. 1. Det samme vil jeg gerne med min ListView, altså have fat i nr. 1.
Formålet er en løkke så jeg skal kunne på et givet tidspunkt bede ListView'n om at rykke engang nedad. Hvilket jeg med alm. ListBox ville gøre med:
Jeg skal bruge det i en musikafspiller jeg har lavet. ListView2 indeholder Tre kolonner (Kunster, Album, Titel). Klikker jeg på en knap skal MediaPlayer1 afspille hele listen startende med den første sang (stien finder MediaPlayer1 i en database, det har jeg styr på) Jeg har så en timer kørende der gør følgende:
Dim i As Integer
For i = 1 To ListView2.ListItems.Count If MediaPlayer1.Duration = MediaPlayer1.CurrentPosition Then Set ListView2.SelectedItem = ListView2.ListItems(i +1) ListView2.SelectedItem.EnsureVisible PlaySongLV End If Next i
Men det virker kun første gang If MediaPlayer1.Duration = MediaPlayer1.CurrentPosition = True!!!
Jeg går ud fra, at PlaySongLV starter det korrekte nummer.
Du skal ikke køre alle items igennem i timereventet:
Timer1_Timer:
if mediaplayer1.duration < mediaplayer1.currentposition then exit sub Timer1.enabled =false if listview2.selecteditem is nothing then set listview2.selecteditem = listview2.listitems(1) else set listview2.selecteditem = listview2.listitems(listview2.selecteditem.index+1) endif listview2.selecteditem.ensurevisible playsonglv
strSQL = "SELECT * FROM tblAll WHERE Titel = '" & strExec & "'" & " AND Kunstner = '" & strArtist & "'" Set recSearch = datdb.OpenRecordset(strSQL)
strExec = recSearch("Path") If Not recSearch.RecordCount = 1 Then MsgBox "An error occurred", vbOKOnly + vbCritical, "Error" Else MediaPlayer1.Open strExec End If
For i = 1 To ListView2.ListItems.Count If MediaPlayer1.Duration = MediaPlayer1.CurrentPosition Then intShit = intShit + 1 Set ListView2.SelectedItem = ListView2.ListItems(i + intShit) ListView2.SelectedItem.EnsureVisible PlaySongLV End If Next i
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.