Перечислим основные общие методы элементов управления.
Add | Позволяет добавить элемент управления во время выполнения программы |
Move | Перемещает элемент управления |
SetFocus | Устанавливает фокус на вызвавшем этот метод элементе управления. Часто применяется в программах обработки ошибок |
Zorder | Помещает объект до или после всех пересекающихся с ним объектов |
Перечислим наиболее часто употребляемые общие события элементов управления.
Click | Происходит, когда пользователь выбирает элемент управления с помощью одинарного щелчка кнопкой мыши |
Dbici'ick | Происходит, когда пользователь выбирает элемент управления с помощью двойного щелчка кнопкой мыши |
Keypress | Происходит, когда пользователь нажимает любую клавишу на клавиатуре, кроме функциональных и клавиш управления курсором |
Change | Происходит при изменении значения элемента управления |
GotFocus и LostFocus | Происходит, когда элемент управления получает или теряет фокус |
Error | Используется при уведомлении об ошибке |
Рассмотрим синтаксис процедур обработки событий, генерируемых нажатием кнопки мыши и перемещением указателя мыши и связанных с элементами управления.
События, связанные с нажатием кнопки мыши и перемещением мыши
Событие Событие происходит
MouseDown При нажатии кнопки мыши
MouseUp При отпускании кнопки мыши
MouseMove При перемещении указателя мыши
Синтаксис:
Private Sub object_MouseDown( ByVal Button As fmButton, _
ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)
Private Sub object_MouseUp ( ByVal Button As fmButton, _
ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)
Private Sub object_MouseMove( ByVal Button As fmButton,_
ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)
Аргументы:
Button | Возвращает код (значение) нажатой кнопки мыши. Допустимые значения:- fmButtonLeft или l (левая)-fmButtonRight ИЛИ 2 (правая) -fmButtonMiddle ИЛИ 4 (средняя) |
Shift | Возвращает код (значение) нажатой на клавиатуре клавиши. Допустимые значения:fmShiftMask ИЛИ 1 (<Shift>) fmCtrlMask ИЛИ 2 (<Ctrl>)fmAltMask ИЛИ 4 (<Alt>) . |
X и Y | Возвращает значение расстояния от левого или от верхнего края формы, рамки или страницы. При событии MouseMove этим расстоянием считается путь в направлении от левого верхнего угла элемента управления по горизонтали или вертикали |
Рассмотрим синтаксис процедур обработки событий при операциях drag-and-drop, связанных с элементами управления.
События, связанные с перемещением элемента управления
Событие Событие происходит
BeforeDragOver Пока совершается операция drag-and-drop
BeforeDropOrPaste Перед завершением операции drag-and-drop
Синтаксис:
Private Sub object_BeforeDragOver(ByVal Cancel As _
MSForms.ReturnBoolean, ByVal Data As DataObject, _
ByVal X As Single, ByVal Y As Single, _
ByVal DragState As fmDragState, _
ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As fmShiftState)
Private Sub object_BeforeDropOrPaste(ByVal Cancel As _
MSForms.ReturnBoolean, ByVal Action As fmAction, _
ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, _
ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As fmShiftState)
Аргументы:
Cancel | Допустимые значения: False (по умолчанию, элемент управления обрабатывает событие) и True (приложение обрабатывает событие) |
Data | Данные, перемещаемые во время операции drag-and-drop. Эти данные размещаются в объекте DataObject. Объект DataObject это своеобразный аналог буфера обмена, в отличии от которого в нем допускается хранить только текстовую информацию |
X и Y | Расстояние от левого верхнего угла элемента управления по горизонтали и вертикали |
DragState | Устанавливает позицию указателя мыши относительно целевого объекта. Допустимые значения:fmDragStateEnter или 0 (указатель мыши внутри целевого элемента управления) fmDragStateLeave или 1 (указатель мыши вне целевого элемента управления) fmDragStateOver или 2 (указатель мыши в новой позиции, но остается внутри элемента управления) |
Effect | Устанавливает операцию, производимую над объектом. Допустимые значения: - fmDropEffectNone или 0(не копировать и не перемещать объект)fmDropEffectCopy или 1 (копировать объект) fmDropEffectMove или 2 (перемещать объект) fmDropEffectCopyOrMove или 3 (копировать или перемещать объект) |
Shift | Возвращает код (значение) нажатой на клавиатуре клавиши. Допустимые значения: -fmShiftMask ИЛИ 1 (<Shift>) -fmCtrlMask ИЛИ 2 (<Ctrl>) - fmAltMask ИЛИ 4 (<Alt>) |
2.8 Стандартные объекты и элементы управления
2.8.1 Объект 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 | Устанавливает символ, отображаемый при вводе пароля. Если это свойство определено, то вместо вводимых символов в поле будет отображаться установленный символ |
2.8.3 Надпись
Элемент управления 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> |