Объект DataObject
Объект DataObject предназначен для передачи текстовой информации при выполнении операций drag-and-drop между элементами управления. По своему действию объект DataObject в основном аналогичен буферу обмена, но в отличие от него он может хранить только текстовую информацию, которая исчезает при закрытии приложения. Рассмотрим методы объекта DataObject.
GetText | Возвращает текстовую строку из объекта DataObject. Синтаксис: String = object.GetText |
SetText | Копирует текстовую строку в объект DataObject. Синтаксис: SetText(StoreData) - StoreData определяет данные, копируемые в объект DataObject |
StartDrag | Инициирует операцию drag-and-drop для объекта DataObject. Синтаксис: ЦелаяПеременная = Object.StartDrag - ЦелаяПеременная — возвращает тип операции drag-and-drop (с копированием или перемещением) |
GetText | Возвращает текстовую строку из объекта DataObject. Синтаксис: СтроковаяПеременная = object.GetText - СтроковаяПеременная — переменная, которой присваивается текстовая строка, хранящаяся в Объекте DataObject |
PutInClipboard | Переносит данные из объекта DataObject в буфер обмена |
GetFromCiipboard | Переносит данные из буфера обмена в объект DataObject |
Перейдем теперь к обсуждению каждого из элементов управления по отдельности.
Поле
Элемент управления TextBox (поле) создается с помощью кнопки Поле (TextBox) панели элементов управления (рис. 2.8). В основном TextBox используется для ввода текста, который в последующем используется в программе, или для вывода результатов расчетов программы. Текст, введенный в поле, обычно в программе преобразуется либо в числа, либо в формулы
Рисунок 2.8 Поле в форме
Основные свойства элемента управления TextBox перечислены ниже.
Text | Возвращает текст, содержащийся в поле |
Visible | Допустимые значения: True (поле отображается во время выполнения программы) и False (в противном случае) |
Enabled | Допустимые значения: True (пользователь непосредственно может вносить изменения в содержание поля) и False (в противном случае) |
Multiline | Допустимые значения: True (устанавливается многострочный режим ввода текста в поле) и False (однострочный режим) |
Wordwrap | Допустимые значения: True (устанавливается режим автоматического переноса) и False (в противном случае) |
AutoSize | Допустимые значения: True (устанавливается режим автоматического изменения размера поля так, чтобы весь вводимый текст помещался в нем) и False (устанавливается фиксированный размер поля) |
ScrollBars | Устанавливает режим отображения в поле полос прокрутки. Допустимые значения: СЧ fmScrollBarsNone (не выводить полос прокрутки) fmScrollBarsHorizontal (выводить горизонтальную полосу прокрутки) fmScrollBarsVertical (выводить вертикальную полосу прокрутки) fmScrollBarsBoth (выводить горизонтальную и вертикальную полосы прокрутки) |
SelLenght, SelStart И SelText | Эти свойства характеризуют выделенный в поле фрагмент текста (длина, начало и сам фрагмент текста соответственно) |
MaxLength | Устанавливает максимальное допустимое количество вводимых в поле символов. Если это свойство равно 0, то нет ограничений на вводимое количество символов. |
PasswordChar | Устанавливает символ, отображаемый при вводе пароля. Если это свойство определено, то вместо вводимых символов в поле будет отображаться установленный символ |
Надпись
Элемент управления Label (надпись) создается с помощью кнопки Надпись (Label) панели элементов управления (рис. 2.9). В основном Label используется для отображения надписей, например заголовков, не имеющих свойства caption. Надпись не может быть изменена пользователем, но код программы во время ее выполнения может управлять текстом надписи.
Рисунок 2.9 Надпись в форме
Основные свойства элемента управления Label перечислены ниже.
Caption | Возвращает текст, отображаемый в надписи |
Visible | Допустимые значения: True (поле отображается во время выполнения программы) и False (в противном случае) |
Multiline | Допустимые значения: True (устанавливается многострочный режим ввода текста в поле) и False (однострочный режим) |
Wordwrap | Допустимые значения: True (устанавливается режим автоматического переноса) и False (в противном случае) |
AutoSize | Допустимые значения: True (устанавливается режим автоматического изменения размера поля так, чтобы весь вводимый текст помещался в нем) и False (устанавливается фиксированный размер поля) |
Кнопка
Элемент управления СommandButton (кнопка) создается с помощью кнопки Кнопка (CommandButton) (рис. 2.10). Элемент управления СommandButton в основном используется для инициирования выполнения некоторых действий, вызываемых нажатием кнопки, например запуск программы или остановка ее выполнения, печать результатов и т. д.
Рисунок 2.10 Кнопка в форме
Приведем наиболее часто используемые свойства элемента управления CоmmandButton.
Caption | Возвращает текст, отображаемый на кнопке |
Cancel | Допустимые значения: True (устанавливаются отменяющие функции для кнопки, т. е. нажатие клавиши <Esc> приводит к тем же результатам, что и нажатие кнопки) и False (в противном случае) |
Visible | Допустимые значения: True (кнопка отображается во время выполнения программы) и False (в противном случае) |
Enabled | Допустимые значения: True (запрещено нажатие кнопки пользователем) и False (в противном случае) |
Accelerator | Назначает клавишу, при нажатии на которую одновременно с клавишей <Alt> происходит запуск действий, связанных с кнопкой. Например, CommandButton1. Accelerator = "С" |
Picture | Внедряет на поверхность кнопки картинку. Например, CommandButton1. Picture = _ LoadPicture ("с: \mydoc\Kpyг.bmp") функция LoadPicture (ПолноеИмяФайла) считывает Графическое изображение. Аргумент ПолноеИмяФайла указывает полное имя графического файла |
Default | Задает кнопку по умолчанию, т. е. устанавливает ту кнопку, для которой действия, связанные с ней, будут выполняться при нажатии клавиши <Enter> |
Список
Элемент управления ListBox (список) создается с помощью кнопки Список (ListBox) (рис. 2.11). Элемент управления ListBox применяется для хранения списка значений. Из списка пользователь может выбрать одно или несколько значений, которые в последующем будут использоваться в тексте программы.
Рисунок 2.11 Список в форме
Приведем наиболее часто используемые свойства элемента управления ListBox.
Listlndex | Возвращает номер текущего элемента списка. Нумерация элементов списка начинается с нуля |
ListCount | Возвращает число элементов списка |
Toplndex | Возвращает элемент списка с наибольшим номером |
ColumnCount | Устанавливает число столбцов в списке |
TextColumn | Устанавливает столбец в списке, элемент которого возвращается свойством Text |
Enabled | Допустимые значения: True (запрещен выбор значения из списка пользователем) и False (в противном случае) |
Text | Возвращает выбранный в списке элемент |
List | Возвращает элемент списка, стоящий на пересечении указанных строки и столбца. Синтаксис: List(row, column) |
RowSource | Устанавливает диапазон, содержащий элементы списка |
Control Source | Устанавливает диапазон (ячейку), куда возвращается выбранный элемент из списка |
MultiSelect | Устанавливает способ выбора элементов списка. Допустимые значения: – fmMultiSelectSingle (выбор только одного элемента); – fmMultiSelectMulti (разрешен выбор нескольких элементов посредством либо щелчка, либо нажатием клавиши <Пробел>); – fmMultiSelectExtended (разрешено использование клавиши <Shift> при выборе ряда последовательных элементов списка) |
Selected | Допустимые значения: True (если элемент списка выбран) и False (в противном случае). Используется для определения выделенного текста, когда свойство MultiSelect имеет значение fmMultiSelectMulti или fmMultiSelectExtended |
ColumnWidths | Устанавливает ширину столбцов списка. Синтаксис: ColumnWidths = String - String – строка, устанавливающая ширину столбцов. В следующем примере устанавливается ширина каждого из трех столбцов списка: With ListBox1 .ColumnCount = 3 .ColumnWidths = "20;30;30" End With |
ColumnHeads | Допустимые значения: True (выводятся заголовки столбцов раскрывающегося списка) и False (в противном случае) |
ListStyle | Допустимые значения: – fmListStyleplain (выбранный элемент из списка выделяется цветом); – fmListStyleOption (перед каждым элементом в списке располагается флажок и выбор элемента из списка соответствует установке этого флажка) |
MatchEntry | Выводит первый подходящий элемент из списка при наборе его имени на клавиатуре. Допустимые значения: – fmMatchEntryNone (режим вывода подходящего элемента в списке отключен); – fmMatchEntryFirstLetter(выводит подходящий элемент по набранной первой букве. В этом случае, предпочтительно, чтобы элементы списка были бы упорядочены в алфавитном порядке); – fmMatchEntryComplete (выводит подходящий элемент по полному набранному имени) |
BoundColumn | Устанавливает тип, возвращаемый свойством Value. А именно, если свойство BoundColumn равно 0, то свойство value возвращает индекс выбранной строки, т. е. в этом случае оно действует как свойство Listindex. Если свойство BoundColumn принимает значение из диапазона от 1 до количества столбцов в списке, то свойствоValue возвращает элемент из выбранной строки, стоящий в столбце, определенном свойством BoundColumn |
Приведем наиболее часто используемые методы элемента управления ListBox.
Clear | Удаляет все элементы из списка |
Remove Item | Удаляет из списка элементы с указанным номером. Синтаксис: Remove Item (index) index — номер, удаляемого из списка элемента |
Add Item | Добавляет элемент в список. Синтаксис: Addltem ([ item [, varIndex]]) -item — элемент (строковое выражение), добавляемый в список -varlndex — номер добавляемого элемента |
Рисунок 2.12 Список с одной колонкой элементов
Заполнение списка
Заполнить список можно одним из следующих способов
Поэлементно, если список состоит из одной колонки(рис. 2.12) | With ListBox1 .AddItem “Июнь” .AddItem “Июль” .AddItem “Август” .ListIndex = 0 End With | ||
Массивом, если список состоит из одной колонки | With ListBoxl .List = Array("Июнь","Июль","Август") .Listlndex = 1 End With | ||
Из диапазона a1: B4, в который предварительно введены элементы списка. Результат выбора (индекс выбранной строки) выводится в ячейку С1 | With ListBoxl .ColumnCount = 2 .RowSource = "A1:B4" .ControlSource = "С1" .BoundColumn = 0 End With | ||
Поэлементно, если список состоит из нескольких колонок, например двух | With ListBoxl .ColumnCount = 2 .Addltem "Июнь" .ListfO, 1) = "Сессия" .Addltem "Июль" .Listfl, 1) = "Каникулы" .Addltem "Август" .List (2, 1) = "Каникулы" End With | ||
Массивом, если список состоит из нескольких колонок, например двух | Dim A (2, 1) As String A(0, 0) = "Июнь" A(0, 1) = "Сессия" A(1, 0) = "Июль" А(1, 1) = "Каникулы" A(2, 0) = "Август" A(2, 1) = "Каникулы" With ListBox1 .ColumnCount = 2 .List = A End With | ||
Выбор нескольких элементов из списка
Свойство Multiselect позволяет устанавливать режим, при котором допустим выбор нескольких элементов из списка. Свойство Selected предоставляет возможность проверить, выбран ли элемент с указанным индексом. На рис. 2.13 показан выбор нескольких элементов из списка. Приведём пример использования этих свойств при вычислении среднего значения выбранных в списке элементов.
Рисунок 2.13 Выбор нескольких элементов из списка
With ListBox1
.List = Array(1, 3, 4, 5, 6, 7, 8, 9)
.Listlndex = 0
.MultiSelect = fmMultiSelectMuIti
Среднее = 0
n = 0
For i = 0 То.ListCount – 1
If.Selected(i) = True Then
n = n + l
Среднее = Среднее +.List(i)
End If
Next I
End With
Среднее = Среднее / n
Поле со списком
Элемент управления СоmbоВох (поле со списком) создается с помощью кнопки Поле со списком (ComboBox) (рис. 2.14). Элемент управления ComboBox применяется для хранения списка значений. Он сочетает в себе функциональные возможности списка ListBox и поля TextBox. В отличие от ListBox, в элементе управления СomboВох, отображается только один элемент списка. Кроме того, у него отсутствует режим выделения нескольких элементов списка, но он позволяет вводить значение, используя поле ввода, как это делает элемент управления TextBox.
Свойства объекта СomboВох, такие как Listlndex, ListCount, Enabled, List и методы Clear, RemoveItem и AddItem аналогичны соответствующим свойствам и методам списка ListBox. Кроме того, у него есть ряд уникальных свойств.
Рисунок 2.14 Поле со списком в форме
Приведем наиболее употребляемые из уникальных свойств элемента управления СоmbоВох.
DropButtonStyle | Устанавливает вид раскрывающегося списка. Допустимые значения: – FmDropButtonStylePlain(кнопка без символов); – FmDropButtonStyleArrowDisplays (кнопка со стрелкой); – FmDropButtonStyleEllipsis (кнопка с эллипсом); – FmDropButtonStyleReduce (кнопка с линией) |
ListRows | Устанавливает число элементов, отображаемых в раскрывающемся списке |
MatchRequired | Допустимые значения: True (в поле ввода раскрывающегося списка нельзя ввести значения, отличные от перечисленных в списке, т. е. в поле со спискам отключается функция поля ввода) и False (в противном случае) |
MatchFound | Допустимые значения: True (среди элементов раскрывающегося списка имеется элемент, совпадающий с вводимым в поле ввода раскрывающегося списка) и False (в противном случае) |