Смекни!
smekni.com

Основы программирования в среде Visual Basic for Application VBA (стр. 4 из 21)

Перечислим основные общие методы элементов управления.

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

Перейдем теперь к обсуждению каждого из элементов управления по отдельности.


2.8.2 Поле

Элемент управления 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 (устанавливается фиксированный размер поля)

2.8.4 Кнопка

Элемент управления С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 ("с: &bsol;mydoc&bsol;Kpyг.bmp")функция LoadPicture (ПолноеИмяФайла) считывает Графическое изображение. Аргумент ПолноеИмяФайла указывает полное имя графического файла
Default Задает кнопку по умолчанию, т. е. устанавливает ту кнопку, для которой действия, связанные с ней, будут выполняться при нажатии клавиши <Enter>

2.8.5 Список