Данные
элементы управления обеспечивают наиболее
простой доступ к файловой системе компьютера.
Элемент DriveListBox служит для доступа к
списку устройств, элемент DirListBox
обеспечивает просмотр папок текущего
устройства, элемент FileListBox отображает
файлы, определенные значением элемента DirListBox.
Когда пользователь выбирает различные
устройства с помощью элемента DirListBox,
программа переключается на новое устройство и
модифицирует содержимое окна DirListBox.
Аналогично, когда пользователь выбирает папку с
помощью элемента управления DirListBox,
программа переключается на выбранную папку и
соответствующим образом модифицирует
содержимое окна FileListBox.
Чтобы соединить элементы управления,
необходимо назначить соответствующие значения
их свойствам. Чтобы отобразить в элементе DirListBox
папки диска, необходимо гарантировать, что при
каждом выборе друго диска свойство Path
элемента DirListBox соответствовало
свойству Drive элемента DriveListBox.
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
При каждом изменении текущей выборки элемента DirListBox
необходимо установить свойство Path
элемента FileListBox равным новому пути
элемента DirListBox.
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Данный код вы можете смело вставлять на форму
при создании любого приложения с использованием
компонентов DriveListBox/DirListBox/FileListBox. В
данном примере добавлен обработчик ошибок при
выборе устройства, доступ к которому нельзя
получить (к примеру, когда вы пытаетесь
подключиться к CD-Rom'у, а компакт-диска внутри
привода нет).
И еще мне хотелось бы обратить ваше внимание на пример, целиком использующий данные контролы - Рекурсивный перебор все подпапок в указанной папке Dim DriveTmp As Integer
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
On Error GoTo ErrorHandler
Dir1.Path = Drive1.Drive
DriveTmp = Drive1.ListIndex
Exit Sub
ErrorHandler:
Drive1.ListIndex = DriveTmp
End Sub
Private Sub Form_Load()
DriveTmp = Drive1.ListIndex
End Sub
Private Sub Dir1_Click()
With Dir1
.Path = .List(.ListIndex)
End With
End Sub
|