Смекни!
smekni.com

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

Приведем основные свойства, методы и события пользовательской формы.

Наиболее часто используемые свойства объекта UserForm

Name Возвращает имя пользовательской формы
Caption Возвращает текст, отображаемый в строке заголовка формы
BackColor Возвращает цвет фона формы
BorderStyle Устанавливает тип границы
Picture Указывает рисунок, отображаемый как фон формы
Left И Top Возвращают местоположение верхнего левого угла формы в пунктах
Height и Width Возвращают высоту и ширину формы в пунктах
StartUpPosition Возвращает значение, определяющее положение формы при ее первом отображении на экране. Допустимые значения:– Manual (начальное значение не устанавливается), – СenterOwner (выравнивание по центру объекта, к которому принадлежит форма), – CenterScreen (выравнивание по центру экрана), – Windows Default (положение верхнего левого угла экрана)

Наиболее часто используемые методы объекта UserForm

Show Отображает форму на экране
Hide Закрывает форму
Move Изменяет положение и размер формы
PrintForm Печатает изображение формы

Основные события объекта UserForm.

Initilize Происходит при отображении формы на экране
Terminate Происходит при закрытии формы

2.5.1 Семейство Controls

Доступ к семейству всех элементов управления, расположенных в пользовательской форме UserForm, осуществляется с помощью семейства Controls. Например, чтобы скрыть все элементы управления формы UserForm, можно использовать код, в котором свойству Visible элемента управления, определяющему, отображается ли этот элемент на экране или нет, устанавливается значение False:

For Each Элемент in UserFormI.Controls

Элемент.Visible = False

Next Control

2.5.2 Создание пользовательской формы

Обсудим процесс создания пользовательской формы на примере конструирования простейшего диалогового окна.

Шаг 1 Выберите команду Сервис, Макрос, Редактор Visual Basic (Tools, Macro, Visual Basic) для того, чтобы перейти в редактор Visual Basic.

Шаг 2 Выберите команду Вставить User Form (Insert UserForm). В редакторе Visual Basic появятся: – Окно с пользовательской формой; – Панель инструментов Панель элементов (Toolbox) (рис. 2.6).

Шаг З Используя диалоговое окно Свойства (Properties), отображаемое нажатием кнопки и Панель элементов (Toolbox), создайте из пользовательской формы диалоговое окно, показанное на рисунке 2.7. Это окно состоит из трех кнопок и одного поля. Свойство Caption пользовательской формы определите равным Песнь о воробушке и бабочке, а кнопок – равными Первый акт, Второй акт и Третий акт.

Шаг 4 Для того чтобы написать процедуру обработки события нажатия кнопки Первый акт, дважды щелкните ее. Активизируется модуль UserForm1, в который введите процедуру: Private Sub CommandButton1_Click () TextBox1.Text = "Воробышек за бабочкой прыг-прыг-прыг" End Sub

Рисунок 2.6 Окно редактора Visual Basic с пользовательской формой и панелью элементов


Для обработки событий нажатий кнопок Второй акт и Третий акт в модуле UserForm1 введите следующие две процедуры:

Private Sub ConmmandButton2_Click ()

TextBoxl.Text = "Воробышек за бабочкой скок-скок-скок"

End Sub

Private Sub CommandButton3 Click()

TextBoxl.Text = "Воробышек бабочку ням-ням-ням"

End Sub

Шаг 5 Процесс создания диалогового окна и процедур, связанньк с ним, завершен. Для того чтобы проверить, как работает созданная программа, нажмите кнопку Запуск подпрограммы/UserForm (Run). На экране на фоне рабочего листа отобразится диалоговое окно Песнь о воробушке и бабочке. Для проверки функционирования кнопок нажмите, например, кнопку Первый акт. В поле выведется сообщение Воробышек за бабочкой прыг-прыг-прыг (рис. 2.7). Для закрытия диалогового окна Песнь о воробушке и бабочке нажмите системную кнопку, расположенную в верхней правой части строки заголовка диалогового окна.

Рисунок 2.7 Редактор Visual Basic с преобразованной пользовательской формой для создаваемого приложения


2.6 Общие свойства элементов управления

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

Name Имя элемента управления
Caption Надпись, отображаемая при элементе управления
AutoSize Допустимые значения: True (устанавливает режим автоматического изменения размеров элемента управления так, чтобы на нем полностью помещался текст, присвоенный свойству Caption) и False (в противном случае)
Visible Допустимые значения: True (элемент управления отображается во время выполнения программы) и False (в противном случае)
Enabled Допустимые значения: True (пользователь вручную может управлять элементом управления) и False (в противном случае)
Height и Width Устанавливают геометрические размеры объекта (высоту и ширину)
Left и Top Устанавливают координаты верхнего левого угла элемента управления, определяющие его местоположение в форме
ControlTipText Устанавливает текст в окне всплывающей подсказки, связанной с элементом управления. В следующем примере элементу управления CommandButton1 назначен текст всплывающей подсказки это кнопка:CommandButton1.ControlTipText = "Это кнопка"
BackColor, ForeColor и BorderColor Устанавливают цвет заднего и переднего плана элемента управления, также его границы
BackStyle Устанавливает тип заднего фона
BorderStyle Устанавливает тип границы. Допустимые значения: - fmBorderStyleSingle (граница в виде контура) - fmBorderStyleNone (граница невидима)
SpecialEffect Устанавливает тип границы. Отличается от свойства BorderStyle тем, что позволяет установить несколько типов, но одного цвета. BorderStyle позволяет установить только один тип, но различных цветов
Picture (создание картинки) Внедряет картинку на элемент управления. Например, на поверхности кнопки картинка отображается с помощью следующей инструкции:CommandButtonI.Picture = _ LoadPicture("с:\my doc\Kpyг.bmp")Функция LoadPicture(ПолноеИмяФайла) считывает графическое изображение. Аргумент ПолноеИмяФайла указывает полное имя графического файла
Picture(удаление картинки) После того как картинка создана на элементе управления, иногда возникает необходимость ее удалить. Это легко достигается присвоением свойству picture значения LoadPicture("")
Tag Используется для хранения дополнительной информации о форме или элементе управления, которая может быть в последующем востребована в программе. В следующем примере в пользовательской форме расположены три кнопки и одно поле. Свойство Tag каждого из этих элементов управления, за исключением второй кнопки, установлено равным Показать. Свойство Tag второй кнопки установлено равным Спрятать. В цикле проверяется свойство Tag всех элементов управления и при инициализации диалогового окна отображаются только те элементы управления, у которых это свойство равно Показать.Private Sub UserForm Initialize () Dim Элемент As Object CommandButton1.Tag = "Показать"CommandButton2 . Tag = "Спрятать" CommandButton3 . Tag = "Показать" TextBox1.Tag = "Показать" For Each Элемент In ControlsIf Элемент.Tag="Показать" ThenЭлемент.Visible = True ElseЭлемент.Visible = FalseEnd If Next ЭлементEnd Sub

Цвета, устанавливаемые свойствами BackColor, Forecolor и BorderColor, задаются шестнадцатеричными числами. Если эти свойства устанавливать не при помощи окна Свойства (Properties), а программно, вместо этих шестнадцатеричных чисел удобнее использовать соответствующие постоянные, задающие цвета.

Константы, задающие цвет

Константа Значение Цвет
vbBlack 0х0 Черный
vbRed OxFF Красный
vbGreen OxFFOO Зеленый
vbYellow OxFFFF Желтый
vbBlue OxFFOOOO Синий
vbMagenta OxFFOOFF Розовый
vbCyan OxFFFFOO Голубой
vbWhite OxFFFFFF Белый

2.6.1 Соглашения об именах

При создании формы или элемента управления, VBA устанавливает свойство объекта Name (т. е. его имя) по умолчанию. Например, для первой созданной кнопки свойство Name устанавливается равным CommandButton1, для второй – CommandButton2 и т. д. При разработке приложений с одной формой имя объекта, устанавливаемое по умолчанию, обычно не вызывает никаких проблем и в этом случае имена объектов оставляют без изменения. Если приложение обладает сложной структурой и состоит из нескольких форм, будет трудно отличить первую кнопку CommandButton1 первой формы, от первой кнопки CommandButton1 второй формы. В этом случае полезно переименовать объекты так, чтобы они легче различались. Для переименования объектов и переменных в среде Windows существует соглашение об именах, называемое венгерской нотацией. Суть соглашения состоит в следующем: имя объекта начинается с короткого префикса, одинакового для объектов одного и того же рода. За префиксом следует собственно имя, отображающее суть объекта. Ниже приведены префиксы и примеры имен управляющих элементов.

Примеры префиксов и имен
Управляющий элемент Префикс Пример имени
TextBox txt txtAcount
Label lbl lblInform
CommandButton cmd cmdOK
ListBox lst lstNames
ComboBox cbo cboFirms
ScrollBar scr scrDown
SpinButton spn spnUp
OptionButton opt optChoice
CheckBox chk chkSex
ToggleButton Tgl TglSwitch
Frame fra fraStatus
Image img imgBall
RefEdit ref ref Fun
MultiPage mit rnltPages
TabStrip tab tabTwoTabs
UserForm frm frmGame

2.7 Общие методы и события элементов управления