Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_vved1.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
460.29 Кб
Скачать

3.8. Комбинированные списки (ComboBoxes).

Назначение. Сочетает выбор одного из элементов списка с вводом текстовой информации в текстовый буфер. По сути, - это комбинация TextBox и ListBox.

Различают три разновидности ComboBox, причем конкретный вид ComboBox зависит от свойства Style.

С войства ComboBox.

Text - это свойство ComboBox идентичное свойству Text в TextBox (текст, находящийся в текстовом буфере ComboBox).

Style 0-Dropdown Combo;

1-Simple Combo;

2-DropDown List.

При Style = 0, в текстовый буфер ComboBox можно записывать информацию в режиме Design, и затем использовать её в режиме Run. Список в ComboBox выпадающий. При выборе любого элемента из списка он попадает в текстовый буфер TextBox. Таким образом, свойство Text определяет либо то, что было первоначально установлено программистом в текстовом буфере, либо элемент списка.

Работа ComboBox при Style = 1 полностью аналогична работе ComboBox при Style = 0. Отличие заключается лишь в том, что список присутствует на экране всегда (т.е. при Style = 1 список не выпадающий)

Работа ComboBox при Style=2- почти полная аналогия с работой ListBox. Отличие только в том, что список - выпадающий и имеется свойство Text. Программно это свойство доступно по чтению и по записи. Но присваивать свойству Text можно только текст из списка, любой другой текст игнорируется.

Отличие ComboBox, имеющего свойство Style=2 от работы ComboBox, имеющих свойства Style=0 или Style=1:

Нельзя установить свойство Text в режиме Design.

Недоступен интерактивный ввод текста в текстовый буфер в режиме Run

Программно можно заносить текст только в строку списка.

События, связанные ComboBox.

Click - событие необходимое для выбора элемента из списка.

Key Press событие необходимое для ввода информации в текстовое поле. Это событие можно использовать для определения момента окончания ввода текста в текстовое поле. Как только пользователь нажимает какую-либо клавишу, числовой код её попадает в процедуру обработки событий. Например:

Private Sub cboFonts_Key Press (KeyAscii as Integer)

If KeyAscii=13 Then

txtDemo.Font=cboFonts.Text

End If

End Sub

Пояснение к работе процедуры.

В этой процедуре cboFonts-это имя комбинированного списка, в котором записаны имена различных шрифтов; txtDemoFont- имя обычного текстового буфера, в котором происходит изменение шрифта в зависимости от выбранного в комбинированном списке вида шрифта.

При нажатии на клавишу Enter (ее код 13), имя шрифта в текстовом поле комбинированного списка передается свойству Font управляющего элемента txtDemoFont. Шрифт в txtDemoFont становится другим.

В VB имеются специальные функции для перевода кода в символ (chr) и символа в код (Asc):

Chr(Ascii) - в результате получим символ код которого Ascii

Asc(«символ») - например, Asc(«A»), - в результате получим код символа

3.9. Специальные списки DriveListBox, DirListBox, FileListBox.

Назначение. Специальные списки используются для отображения списка дисков, каталогов и файлов.

VB заполняет информацию в специальных списках автоматически. В режиме Run они начинают «работать», т.е. в соответствующих окнах отображаются списки дисков, каталогов, файлов. Однако выбор одного из элементов, например, диска никак не влияет на информацию в других окнах. Для того, чтобы изменения происходили, необходимо воспользоваться тремя свойствами, доступными только во время выполнения программы.

Свойства специальных списков.

Drive - это свойство элемента управления DriveListBox. Показывает имя текущего выбранного диска.

Patch - это свойство элемента управления DirListBox и FileListBox. Определяет имя выделенного каталога, вместе с путем к нему.

FileName- это свойство элемента управления FileListBox. Показывает имя выделенного файла.

Пусть, например, File1 - имя управляющего элемента типа FileListBox. Тогда File1.Patch определяет путь к файлу, а File1.FileName определяет имя файла. Для того, чтобы в текстовом поле txtText1 отобразилось полное имя файла (вместе с путем) нужно записать следующий оператор присваивания:

txtText1.Text=File1.Patch & «\» & File1.FileName.

События, связанные со специальными списками.

Change -это событие возникает, когда пользователь осуществляет выбор диска в управляющем элементе DriveListBox или выбор каталога в управляющем элементе DirListBox. Отметим, что для управляющих элементов DriveListBox и DirListBox нет события Click.

Например, чтобы происходили изменения при переходе с одного диска на другой и в других окнах, отбражающих списки каталогов и файлов, необходимо написать следующие процедуры:

Private Sub Drive1_Change()

Dir1.Patch=Drive1.Drive

End Sub

Private Sub Dir1_Change()

File1.Patch=Dir1.Patch

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]