Gå til innhold

Huske posisjon i en Listview [løst]


Anbefalte innlegg

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 av klunde
Lenke til kommentar
Videoannonse
Annonse
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

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 markeres

If sFile = file_name Then

    itmX.Selected = True

End If

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...