Список каталогов (Directory ListBox)
DirectoryListBox или кратко DirListBox - это второй элемент управления, предназначенный для выбора файлов. Он отображает структуру выбранного диска и позволяет осуществлять выбор и смену каталога.
Для этого элемента также главную роль играет событие Change. Оно вызывается в результате двойного щелчка мышью на имени каталог в окне просмотра.
Элемент управления DirListBox также имеет некоторое сходство со списком. Однако главным его свойством является свойство Path, возвращающее полный путь к выбранному каталогу, включая имя диска (например, C:\WINDOWS\WORD).
После добавления в форму элементов управления DriveListBox и DirListBox они еще не работают совместно. То есть в один и тот же момент в DriveListBox может отображаться имя диска С, а в DirListBox - структура каталогов диска D. Поэтому прежде чем использовать эти элементы управления, их необходимо синхронизировать. Это происходит при обработке события Change в DriveListBox:
Private Sub Drivel_Change()
Dirl.Path = Drivel.Drive
End Sub
Обычно для выбора каталог пользователь нажимает клавишу Enter. Однако элемент управления DirListBox игнорирует эту клавишу. Решением такой проблемы является возможность обработки события KeyPress и программная смена каталога.
Список файлов (FileListBox)
FileListBox - последний элемент управления, который можно использовать для выбор файлов. Он отображает файлы текущего каталога, откуда их можно выбирать.
Для FileListBox основным событием является Click, которое вызывается при выборе пользователем имени файла в списке. Представляют также интерес события PathChange и PatternChange. Событие PathChange происходит после изменения пути (свойство Path), а событие PatternChange после изменения маски выбора файлов (свойство Pattern).
Этот элемент управления также имеет много общих свойств с элементом ListBox. Однако основным его свойством является свойство FileName, которое содержит имя выбранного файла (например,BOOK.DOC). Свойство Pattern позволяет определить тип тех файлов, которые должны отображаться в списке. Например, для отображения файлов с расширением *.1СО и *.ВМР необходим следующий код:
Filel.Pattern = "*.ICO;*.BMP"
Расширения файлов разделяются точкой с запятой.
Список файлов также должен синхронизироваться с выбранными устройствами и каталогом. Это происходит при обработке события Change для DirListBox. При этом используется свойство Path элемента FileListBox:
Private Sub Dirl Change()
Filel.Path = Dirl.Path
End Sub
Так как элемент DirListBox уже синхронизирован с выбором диска, все три элемента теперь работают вместе.
Для отображения полного имени файла, включая путь, нужно просто сложить соответствующие строки, содержащие значения имени диска, пути и имени файла. Поместить символ ”\”между путем и именем файла достаточно просто. Это выполняется следующим оператором:
IblPath.Caption =Filel.Path &”\”&Filel.Filename
Чтобы избежать отображения в пути излишнего количества символов "\",
например в случ е выбора файла корневого каталога,нужно немного изменить
код:
Private Sub Filel_Click()
If Right(Filel.Path,1)=c Then
IblPath.Caption = Filel.Path & Filel.Filename
Else
IblPath.Caption = Filel.Path & ”\” & Filel.Filename
End If
End Sub
Рамка (Frame)
Рамка (Frame) - это один из элементов контейнеров. Его назначение - объединить в группу несколько элементов управления. Объекты, объединенные с помощью рамки, можно как единое целое перемещать, активизировать и деактивизировать, делать видимыми или невидимыми. Некоторые элементы сами нуждаются в контейнере - например, все переключатели в форме всегда объединяются в одну группу. Чтобы создать вторую группу опций, нужно требуемые переключатели объединить в элементе контейнере.
Для объединения объектов в группу нужно сначала создать элемент контейнер, затем добавить в него нужные элементы управления. Если требуемые элементы управления уже находятся в форме, их достаточно переместить в элемент контейнер. Чтобы проверить, действительно ли элемент принадлежит контейнеру, достаточно переместить контейнер. Элемент управления, принадлежащий контейнеру, будет перемещаться вместе с ним.
Рамка - это элемент управления, который не имеет особых свойств, присущих только ей.
События рамки обычно не анализируются, так как чаще всего проектировщик работает только с элементами управления, принадлежащими рамке.