Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Визуальное программирование



В конце ХХ века широкое распространение получило визуальное программирование – технология, предоставляющая программисту наглядные средства конструирования интерфейса. Объектно-ориентированное программирование удачно использует концепцию визуального программирования.

VBA – это интегрированная среда разработки, которая предоставляет программисту возможность создания форм, на которых размещают компоненты (в терминах VBA – controls, элементы управления), имеющиеся в библиотеке VBA или созданные пользователем. Все компоненты (формы, элементы управления, меню и панели инструментов) являются объектами со своими свойствами и методами и способны реагировать на определённые события.

Компоненты могут быть:

• визуальными – т. е. видимыми при работе приложения; немедленно отображаются

на экране при проектировании в таком же виде, в каком их увидит пользователь во время выполнения приложения;

• не визуальными – отображаются на форме в процессе проектирования в виде значка, но пользователю во время выполнения программы не видны; выполняют некоторые служебные функции.

Использование визуального проектирования интерфейса предоставляет программисту (пользователю) следующие преимущества:

• можно легко изменять размеры и расположение компонентов на форме (с помощью простых манипуляций мышью);

• в процессе проектирования постоянно виден результат – изображение формы и расположенных на ней компонентов (не надо запускать приложение для проверки внешнего вида окна и последующего изменения программного кода для подбора более удачного размера и расположения компонентов);

• (основное) во время проектирования формы и размещения на ней компонентов редактор кода автоматически генерирует код программы, включая в неё фрагменты, описывающие данный компонент (далее можно изменять свойства компонентов и писать обработчиков событий).

Визуальное проектирование приложения состоит из следующих этапов:

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

• размещение на созданной форме нужных компонентов (элементов управления);

• задание определённых свойств этих компонентов;

• написание, при необходимости, обработчиков событий.

Рассмотрим каждый из этапов подробнее.

1.3.1. Пользовательские формы

Форма – это пустой холст, на котором пишется приложение (создаётся пользовательский интерфейс). Форма является основным объектом программы, на ней будут располагаться другие объекты. Каждая форма в период выполнения программы соответствует отдельному окну.

Пользовательская форма в VBA создаётся добавлением в проект объекта UserForm, являющегося основой пользовательского диалогового окна. Объект UserForm – это пустое диалоговое окно. Настройку диалогового окна можно выполнить добавлением к объекту UserForm элементов управления. Каждому объекту UserForm присущи определённые свойства, методы и события, которые он наследует от класса объектов UserForm. Каждый объект UserForm включает и модуль класса, в который можно добавлять собственные методы и свойства или код обработки событий формы.

Для добавления к проекту новой формы используется команда редактора VBA «View/UserForm». По умолчанию новой форме присваивается имя UserForm1 и далее используется порядковая нумерация пользовательских форм.

Рисунок 6 – Объект UserForm в режиме конструирования

Как правило, если активизирована форма или один из её элементов управления, на экране появляется Панель элементов (Toolbox), с помощью которой можно добавлять к форме элементы управления.

Переименовать объект UserForm можно так же, как стандартный модуль или модуль класса. Для этого надо задать значение свойства Name этого объекта. Каждая добавляемая в проект форма наследует свойства и методы объекта UserForm. Все процедуры и функции, написанные в разделе General (общий) модуля класса формы, становятся дополнительными методами для этой формы. Форме можно придать и новые свойства, добавив в её модуль класса описания Property Get и Property Let. Копии новой формы можно создавать программно с помощью оператора Dim и опции New.

Все формы VBA являются модальными (modal). Это означает, что вы не сможете выполнить какое-либо другое действие в приложении до тех пор, пока форма диалога не будет закрыта (методами Hide или UnLoad).

1.3.2. Свойства объекта UserForm

Форма как объект имеет некоторые встроенные свойства, которые можно устанавливать двумя способами:

• программно;

• в окне свойств (Properties Window) редактора VBA.

Программным способом свойства форм устанавливаются путем присвоения свойству нового значения. В таблице 8 перечислены наиболее часто используемые свойства объекта UserForm.

Таблица 8 – Основные свойства объекта UserForm

Свойство Значение Описание
     
ActiveControl   Возвращает объектную ссылку на элемент управления, находящийся в фокусе в данный момент. Свойство только для чтения
BackColor &Н80000005& Палитра цветов Возвращает целое значение типа Long, которое определяет цвет фона формы
BorderStyle   0 – None(Her) 1 – Fixed Single (одинарная фиксированная) 2 – Sizeable (масштабируемая) 3 – Fixed Double (двойная фиксир.) Границы отсутствуют. Размер объекта постоянный, границы – одинарные линии.   Можно менять размеры, границы – двойные линии. Размер объекта постоянный, границы – двойные линии
Caption   Возвращает текст, отображаемый в строке заголовка формы
Enabled False True (по умолч.) Содержит значение типа Boolean, указывающее, доступна ли форма. Если его значение равно False, ни один из элементов управления формы не доступен
Font MS Sans Serif Позволяет выбрать параметры шрифта формы или элемента управления
ForeColor Палитра цветов То же самое, что и свойство BackColor, но устанавливает цвет, используемый для переднего плана (обычно это цвет текста) объекта формы
Height Высота Возвращают высоту формы в пунктах
Width Ширина Возвращают ширину формы в пунктах

Окончание табл. 8

     
Name   Возвращает имя пользовательской формы в коде
Picture Список файлов, содержащих картинки Указывает рисунок, отображаемый как фон формы
Top Измеряется в twip Возвращают местоположение левого верхнего угла формы в пунктах
Left Измеряется в twip Возвращают местоположение левого верхнего угла формы в пунктах
StartUpPosition 0 – Manual 1 – CenterOwner 2 – CenterScreen 3 – Windows Default Возвращает значение, определяющее положение формы при ее первом отображении на экране. Допустимые значения: • Manual – начальное значение не устанавливается; • CenterOwner – выравнивание по центру объекта, которому принадлежит форма; • CenterScreen – выравнивание по центру экрана; • Windows Default – положение верхнего левого угла экрана
Visible True (по умолч.) False Значение типа Boolean, указывающее, является ли элемент управления видимым

Форма обладает множеством свойств (Properties), которые присущи и другим объектам управления. Многие свойства формы влияют на её внешний вид. Особо нужно отметить два свойства: Caption и Name. По умолчанию они имеют значение, соответствующее названию элемента управления, например, Forml. Свойство Caption определяет текст, который будет выведен в заголовке окна формы, свойство Name – имя формы, которое будет использовано в программных кодах. Обоим свойствам нужно придать осмысленное значение. Это поможет пользователю в работе с приложением, а программисту – в написании кодов. При задании свойства Name имя формы следует предварять префиксом frm.

1.3.3. Методы объекта UserForm

Исходный объект UserForm обладает рядом методов, наиболее часто используемые из которых приведены в таблице 9. Эти методы доступны для каждой формы, добавляемой в проект.

Таблица 9 – Основные методы объекта UserForm

Метод Назначение
   
Copy Копирует выделенный в элементе управления текст в буфер обмена Windows
Cut Вырезает выделенный в элементе управления текст и помещает его в буфер
Hide Скрывает форму, не выгружая её из памяти, сохраняя значения элементов
Move Изменяет положение и размер формы

Окончание табл. 9

   
Paste Вставляет содержимое буфера обмена Windows в текущий элемент управления
PrintForm Выводит на используемый в Windows по умолчанию принтер изображение формы, включая все данные, введённые в элементы управления
Repaint Перерисовывает форму, выведенную на экран. Используйте этот метод, если хотите перерисовать форму, не ожидая, когда она будет перерисована через обычный период времени
Show Выводит форму на экран. Если форма ещё не загружена в память, то данный метод сначала её загружает

1.3.4. События объекта UserForm

Событие (event) – это факт, связанный с изменением состояния формы или элемента управления, требующий выполнения некоторых действий (обработки события). Каждому событию может быть сопоставлена процедура, выполняющая необходимые действия обработчика события. Обработчики событий могут быть назначены программно или в процессе визуального проектирования формы. При визуальном проектировании заготовка обработчика вида:

Private Sub UserForm_Click() формируется автоматически, при двойном клике указателем мыши на форме или элементе управления. Код обработчика создаётся вручную.

Основная часть кода, который разработчик записывает в модуль класса формы, связана с обработкой событий. В табл. 10 перечислены основные события объекта UserForm, для которых можно написать обработчика в режиме визуального программирования.

Таблица 10 – Основные события объекта UserForm

Событие Описание
Activate Происходит, когда окно формы становится активным. Используйте это событие для обновления содержимого диалоговых элементов управления, чтобы отразить любые изменения, которые произошли, пока окно формы было неактивным
Click Происходит при щелчке мышью по форме (любой её части, не занятой элементами управления)
DblClick Происходит при двойном щелчке мышью по форме (любой её части, не занятой элементами управления)
Deactivate Происходит, когда форма перестает быть активной
Initialize Происходит, когда форма впервые загружается в память посредством выполнения оператора Load или с помощью метода Show. Используйте это событие для инициализации элементов управления формы при её появлении на экране
Resize Происходит при изменении размеров формы
Terminate Происходит при закрытии формы, т. е. когда форма выгружается из памяти. Используйте это событие для осуществления специальных задач, которые необходимо выполнить прежде, чем переменные формы будут выгружены

Составляя программу обработки событий, происходящих на форме, чаще всего приходится иметь дело с событиями Click, DblClick и Initialize.

Click (щелчок). Событие наступает, если поместить указатель мыши на поле формы и нажать левую кнопку мыши. При этом Visual Basic вызовет процедуру Private Sub UserForm1_Click().

DblClick (двойной щелчок). Событие наступает при двойном щелчке левой кнопки мыши. Событие вызывает процедуру Private Sub UserForm1_DblClick(). UserForm_Initialize() – инициализация формы.

В дополнение к методам, свойствам и событиям, встроенным в объект UserForm, VBA предоставляет два оператора, которые особенно полезны при работе с объектами форм: Load и Unload.

Синтаксис операторов Load и Unload:

Load Object

Unload Object

Здесь Object представляет любую допустимую ссылку на объект UserForm.

Оператор Load загружает в память объект UserForm и запускает метод формы Initialize, но не выводит форму на экран. Когда форма загружена, можно использовать написанную на VBA программу для работы с объектом UserForm.

Оператор Unload удаляет из памяти объект UserForm, а также все переменные формы. После того, как форма выгружена, она перестает быть доступной для VBA-кода.

Создайте приложение, которое выполняет следующее:

· событие Click меняет цвет формы и цвет текста сообщения и выводит на форму сообщение «Наступило событие Click»;

· событие DblClick меняет цвет формы и цвет текста сообщения и выводит на форму сообщение «Наступило событие DblClick».

В окне свойств установите следующие свойства формы: Name-frmForm Caption – Элемент управления «Форма».

Порядок изменения значений свойств формы:

· перейдите в окно свойств Properties, нажав клавишу F4, если оно не активно;

· выберите строку с необходимым свойством;

· введите новое значение данного свойства;

· нажмите клавишу Enter для сохранения нового значения. Установите подходящий размер формы, т. е. такой, чтобы рисунок выглядел пропорциональным.

В окне кодов наберите программные коды процедур, соответствующие событиям формы: программные коды набираются в «Окне кода». Для вывода окна кодов (рисунок 7) на экран нужно дважды щёлкнуть мышью на форме или нажать кнопку View Code окна проекта. В появившемся окне кодов выводится пока пустое тело наиболее вероятной процедуры. Для формы такой процедурой является Private Sub UserForm1_Click().

Рисунок 7 – Окно кода

Цвет формы (свойство BackColor) можно установить при проектировании приложения, используя для этого окно свойств, изменить в процессе работы приложения. Для этого можно использовать палитру цветов. Установленное значение свойства обозначается шестнадцатеричной константой, например, зелёному цвету соответствует значение &H0000C000&. Запомнить значения констант – это невыполнимая задача.

Вывод рисунка на форму. Вывод рисунка на форму производится путем присвоения свойству Picture формы имени файла с рисунком с указанием полного пути к нему. Чтобы его правильно указать, найдите файл с рисунком через «Мой компьютер» и скопируйте путь к файлу с рисунком из поля «Адрес окна». Запустите приложение на выполнение.

Запуск приложения на выполнение производится командой Startменю Run или кнопкой на панели инструментов основного окна. Выйти из приложения можно также двумя способами:

· командой Endменю Run;

· кнопкой на панели инструментов.


Самостоятельно изучите работу свойств формы:

· ScrollBars;

· Zoom;

· BorderStyle.

Составьте отчёт по лабораторной работе.

Отчёты по лабораторной работе помещаются в файле.

Содержание отчёта:

1) Номер и название лабораторной работы.

2) Текст задания.

Создать приложение, которое выполняет следующее:

а) событие Click меняет цвет формы и цвет текста сообщения, и выводит на форму сообщение «Наступило событие Click»;

б) событие DblClick меняет цвет формы и цвет текста сообщения, и выводит на форму сообщение «Наступило событие DblClick».

3) Таблица свойств объекта «Форма» (рисунок 8 и таблица 11).

Таблица 11 – Свойства объекта

Свойства Значение
Name frmForm
Caption Элемент управления Форма
Font Arial, жирный, 14 пунктов
...  

Рисунок 8 – Свойства объекта «Форма»

4) Программные коды процедур.

Контрольные вопросы

1. Дайте понятие объекта.

2. Что такое свойство, метод и событие объекта управления?

3. Свойства объекта управления: Name и Caption.

4. Назначение объекта управления «Форма».

5. Свойства BackColor, ForeColor, Font и их установка.

6. В каких единицах измеряются размеры формы и каким образом можно узнать их значения?

7. Что такое событийная процедура?

8. Какие события объекта управления «Форма» вы знаете? Когда наступают события формы Activate, Click, DblClick?

9. Как изменить размер и положение объекта управления «Форма»?

10. Как добавить в приложение программный код?

11. Как запустить приложение на выполнение?

12. Каким образом устанавливаются свойства объекта управления в процессе проектирования приложения и его работы?





Дата публикования: 2014-11-02; Прочитано: 911 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.015 с)...