klunde Skrevet 30. januar 2006 Del Skrevet 30. januar 2006 (endret) Hei Jeg har følgende kode som når jeg trykker F5 for å oppdatere (lese inn på nytt) mister fokus på hvor i listview'n jeg har fokus. Er det noen som kan hjelpe meg med hvordan jeg skal beholde fokus på den oppføringen jeg hadde aktiv før jeg oppdaterer med F5. (F5 kaller GetList() ) Public Sub GetList() dir_name = Me.lblPath.Caption ListView1.ListItems.Clear Text1.Text = "" root = ValidateDir(dir_name) ch = Right$(dir_name, 1) dir_name = root & "*.*" pos = InStrRev(dir_name, "\") path_name = Left$(dir_name, pos) next_file = Dir$(dir_name) Screen.MousePointer = vbHourglass Do While Len(next_file) > 0 ' Get the full file name. file_name = next_file next_file = path_name & next_file ' See if it is not a directory. If Not (GetAttr(next_file) And vbDirectory) Then file_date = FileDateTime(next_file) Dim itmX As ListItem Set itmX = ListView1.ListItems.Add(, , file_name) itmX.SubItems(1) = file_date itmX.SubItems(2) = Format$(file_date, "yyyymmddhhmmss") itmX.SubItems(3) = FileLen(next_file) End If next_file = Dir$() Loop Screen.MousePointer = vbDefault sbStatusBar.Panels(1).Text = ListView1.ListItems.Count & " file(s)" ListView1.SortKey = 2 ListView1.SortOrder = lvwDescending ListView1.Sorted = True End Sub PFT Endret 31. januar 2006 av klunde Lenke til kommentar
Richard87 Skrevet 30. januar 2006 Del Skrevet 30. januar 2006 (endret) Glem det, trodde du brukte TreeView, og ikkje ListView..., kan d ikke bare bruke ListIndex verdien da? siden det er samme liste hele tiden? Endret 30. januar 2006 av Richard87 Lenke til kommentar
klunde Skrevet 30. januar 2006 Forfatter Del Skrevet 30. januar 2006 Glem det, trodde du brukte TreeView, og ikkje ListView..., kan d ikke bare bruke ListIndex verdien da? siden det er samme liste hele tiden? 5522608[/snapback] Det er jo ikke nødvendigvis samme listen all den tid det gjøres en refresh. Derfor ønsker jeg å la fokus stå på den filen i listview som er aktiv når brukeren trykker F5 også etter oppdateringen, men jeg finner ikke helt ut hvordan jeg skal kunne sette index'n - den ser ut til å være read only Lenke til kommentar
aadnk Skrevet 30. januar 2006 Del Skrevet 30. januar 2006 Legg til følgende kode øverst i prosedyren: Dim sFile As String ' Lagre det markerte elementet If Not lstFiles.SelectedItem Is Nothing Then sFile = ListView1.SelectedItem.Text End If Deretter legger du til denne kodebiten innunder «Set itmX»-linjen: ' Dersom filen som legges til er den opprinnelige markerte filen, skal den atter markeresIf sFile = file_name Then itmX.Selected = True End If Lenke til kommentar
klunde Skrevet 31. januar 2006 Forfatter Del Skrevet 31. januar 2006 takk for ypperlig svar, det var akkurat det jeg trengte! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå