Dim ext As String Const STANDARDEXTENSION = "*" Private Sub lstSort_Click() lstSort.Visible = False Select Case (lstSort.ListIndex) Case 0 lblCurrSort.Caption = "Name" lvFiles.SortKey = 0 Case 1 lblCurrSort.Caption = "Date" lvFiles.SortKey = 3 Case 2 lblCurrSort.Caption = "Size" lvFiles.SortKey = 4 End Select End Sub Private Sub Form_Load() ' image to use with the items in the list (note this app expects ' only one kind of extension. ImageList1.Add "\windows\wcslogo.bmp" 'ImageList1.Add "\windows\check.bmp" ext = STANDARDEXTENSION lvFiles.View = lvwReport lvFiles.LabelEdit = lvwManual lvFiles.HideColumnHeaders = True lvFiles.ZOrder 1 If (Me.SIPVisible) Then lvFiles.Height = SHORTLIST - lvFiles.Top Else lvFiles.Height = FULLLIST - lvFiles.Top End If lstDirectories.Visible = False lstDirectories.ZOrder lstDirectories.Visible = False lstSort.ZOrder lstSort.Visible = False Call createListView Call populateListView Call createMenu End Sub Private Sub createListView() Dim ch As ColumnHeader Dim ln As Integer Dim char As Integer lvFiles.SmallIcons = ImageList1.hImageList ln = lvFiles.Width - SCROLLWIDTH Dim ln2, ln1 As Integer ln2 = Me.TextWidth("000000M") ln1 = Me.TextWidth("00:00:00 PM") ln = ln - ln2 - ln1 Set ch = lvFiles.ColumnHeaders.Add(1, "lvFilesItem", "File") ch.Width = ln Set ch = lvFiles.ColumnHeaders.Add(2, "lvFilesDate", "Date") ch.Alignment = lvwColumnRight ch.Width = ln1 Set ch = lvFiles.ColumnHeaders.Add(3, "lvFilesSize", "Size") ch.Alignment = lvwColumnRight ch.Width = ln2 Set ch = lvFiles.ColumnHeaders.Add(4, "lvFilesDateSort", "DateSort") ch.Width = 0 Set ch = lvFiles.ColumnHeaders.Add(5, "lvFilesSizeSort", "SizeSort") ch.Width = 0 End Sub Private Sub populateListView() Dim myDirs As String Dim i As Integer baseDir = "\my documents\" myDirs = ListSubdirectories(FileSystem1, baseDir) allDirs = "" & getSepChar() & myDirs Dim a As Variant a = Split(myDirs, getSepChar()) lstDirectories.AddItem "All Folders", 0 For i = LBound(a) To UBound(a) lstDirectories.AddItem a(i) Next i lstDirectories.Selected(0) = True lvFiles.Sorted = True Call LoadFileListBox(FileSystem1, lvFiles, allDirs, baseDir, ext) End Sub Private Sub lstDirectories_Click() If lstDirectories.ListIndex = 0 Then LoadFileListBox FileSystem1, lvFiles, allDirs, baseDir, ext Else LoadFileListBox FileSystem1, lvFiles, lstDirectories.List(lstDirectories.ListIndex), baseDir, ext End If lblCurrDir.Caption = lstDirectories.List(lstDirectories.ListIndex) lstDirectories.Visible = False End Sub