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:
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.