- •Норинский л. Ю. Программирование на Visual Basic и Visual Basic for Applications (Конспект лекций)
- •Введение
- •1. Основы языка программирования visual Basic
- •1.1. Общие сведения о Visual Basic
- •1.2. Среда vb, инструментальные средства. Разработка проектов
- •1.3. Типы данных. Константы и переменные
- •1.4. Операции
- •1.5. Ввод и вывод данных
- •1.6. Управляющие операторы
- •1.7. Массивы
- •1.8. Примеры программ работы с числами
- •1.9. Обработка строк. Примеры
- •1.10. Математические вычисления. Другие операторы и функции
- •1.11. Процедуры и функции. Примеры
- •1.12. Работа с файлами
- •1.13. Обработка ошибок
- •2. Разработка интерфейса
- •2.1. Элементы управления
- •2.1.1. Общие сведения
- •2.1.2. Встроенные эу
- •2.1.3. Внедренные и связанные эу
- •2.2. Разработка форм
- •2.3. Создание и использование меню
- •2.4. Окна диалога
- •3. Классовое общество
- •3.1. Классы-формы
- •3.2. Модули классов и стандартные модули
- •3.3. Управление событиями объекта
- •3.4. Семейства и массивы объектов
- •4. Vba. Макропрограммирование
- •4.1. Общие сведения о vba
- •4.2. Работа в Excel с помощью vba
- •4.2.1. Объекты Application и семейство Workbooks
- •4.2.2. Объекты Worksheet и Worksheets
- •4.2.3. Объект Range
- •4.3. Макропрограммирование
- •4.4. Создание макросов в Word
- •4.5. Создание макросов в Excel
- •4.6. Пример макроса
- •Приложения п1. Некоторые виды ошибок
- •П2. Свойства элементов управления
- •П3. Методы работы с элементами управления
- •П4. Примеры проектов vb Проект 1.
- •Проект 2.
- •Проект 3.
- •Проект 4.
- •Проект 5.
- •Проект 6.
- •Проект 8.
- •Проект 11.
- •П5. Пример ПроектА vba.
- •Литература
2. Разработка интерфейса
2.1. Элементы управления
2.1.1. Общие сведения
Категории элементов управления (ЭУ):
1. Встроенные ЭУ (командная кнопка, кадр и др.) - содержатся внутри .exe файла Visual Basic, располагаются всегда в палитре объектов, в отличие от внедряемых объектов и ЭУ ActiveX, которые могут быть удалены или добавлены к палитре объектов.
2. Стандартные ЭУ ActiveX, которые хранятся как отдельные файлы с расширением .ocx (раньше назывались пользовательскими или ЭУ OLE) - это связанные с данными сетка, комбинированный блок,списки и т.д. (в предыдущих версиях с расширением .vbx).
3. Внедряемые объекты (Microsoft Excel Worksheet, Microsoft Project Calendar и др.). Некоторые поддерживают OLE-автоматику, позволяющую программно управлять объектами другого приложения изнутри приложения VB. Доступные внедряемые объекты можно выбрать из вкладки Insertable Objects окна диалога Components.
К элементам управления можно обращаться не только при разработке приложения, но и во время выполнения программы. Они позволяет пользователю взаимодействовать с приложением.
Каждый элемент управления имеет некоторое свойство, которое можно использовать для сохранения или получения значения объекта, не используя имя свойства, а обращаясь к объекту только по его имени. Это свойство называется значением элемента управления и обычно является наиболее важным или наиболее часто используемым. Пример:
Text1 = "Этот текст будет присвоен свойству Text объекта Text1"
К элементам управления можно обращаться как к переменным, присваивая значения определенным свойствам или считывая их.
Внешний вид и функционирование ЭУ определяются его свойствами. Свойства ЭУ могут устанавливаться на стадии проектирования, а так же их можно изменять во время выполнения приложения.
Если приложение имеет несколько форм, то в каждая из них может содержать ЭУ с одинаковым именем. Поэтому синтаксис обращения к свойствам имеет следующий вид:
[Форма.] Имя_ЭУ.Свойство = Значение
Если ЭУ содержится только в одной форме, то имя формы указывать не обязательно. Каждое свойство является внутренней переменной ЭУ, значение которой можно не только устанавливать, но и считывать (присваивать некоторой другой переменной). Некоторые свойства доступны как для считывания, так и для изменения. Существуют так же свойства, доступные только для считывания.
Основные свойства ЭУ:
1. Позиция ЭУ определяется четырьмя свойствами – Left, Top, Height, Width. Эти значения по умолчанию используют в качестве единицы измерения твип (twip). Твип – это экранно-независимая единица измерения, равная 1/20 точки принтера и гарантирующая независимость отображения элементов приложения от разрешения дисплея. Свойства Left и Top задают координаты левого верхнего угла ЭУ, свойства Height и Width – его высоту и ширину. Отсчет в системе координат ведется сверху вниз (Y) и слева направо (X).
2. Для управления цветовым оформлением ЭУ используются свойства – BackColor (цвет фона), FillColor (цвет заполнения), ForeColor (цвет текста).
3. Вид шрифта в ЭУ устанавливается значением Font: Font.Name (имя шрифта), Font.Size (размер), Font.Bold (полужирный), Font.Italic (курсив), Font.Underline (подчеркивание), Font.StrikeThrough (перечеркивание), Font.Weight (толщина).
4. Для указания доступности и видимости ЭУ используются свойства Enabled и Visible. Если свойству Enabled дать значение False, то ЭУ будет недоступен и обычно подсвечивается серым цветом. Если свойству Visible дать значение False, то ЭУ будет не виден.
5. Свойство Name является идентификатором ЭУ.
6. Внешний вид ЭУ определяется свойством Appearance. Свойство ToolTipTex используется для вывода подсказки при установке курсора мыши на ЭУ.
7. Свойство Parent указывает на родительский объект, что обеспечивает доступ к его методам и свойствам.
8. Свойство Container, в отличие от предыдущего свойства, доступного только для чтения, позволяет не только считывать, но и изменять контейнер ЭУ.
Контейнерами для других ЭУ могут служить следующие ЭУ – Form, Frame, Picture, Toolbar.
9. В отличие от других свойств, свойство Tag не используется для управления элементом управления – оно предназначено для хранения любых дополнительных данных.
10. Кроме стандартных вышеперечисленных свойств, формы имеют и присущие только им свойства:
– BorderStyle изменяет вид рамки, принимает одно из следующих значений: 0 (окно без рамки, размер и положение изменяться не могут, нет заголовка), 1 (фиксированная рамка, размер меняться не может), 2 (по умолчанию, возможно изменение размера), 3 (окаймление толстой рамкой), 4 (сходно с 3), 5 (сходно с 2);
– ControlBox определяет, отображается ли системное меню, с помощью которого можно выйти из программы (Alt+F4);
– MaxButton увеличивает окно до размера экрана; если у формы это свойство имеет значение False, то соответствующая кнопка будет отсутствовать, а из системного меню удаляется команда РАЗВЕРНУТЬ;
– MinButton при значении False затемняет кнопку и удаляет из системного меню команду СВЕРНУТЬ.
Основные события, обрабатываемые большинством ЭУ:
А. События мыши – Click (возникает при щечке на ЭУ), DblClick (двойной щелчок на ЭУ), MouseDown (нажатие копки мыши), MouseUp (отпускание кнопки мыши), MouseMove (передвижение курсора мыши);
Б. События клавиатуры – KeyPreview (при значении True событие, связанное с клавиатурой сначала передается форме, а затем – текущему ЭУ), KeyPress (возвращает код ASCII нажатой клавиши, Alt не перехватывается), KeyDown и KeyUP (нажатие и отпускание клавиши);
В. Фокус – если элемент получает фокус, то он становится активным; если перейти от одного ЭУ к другому, то для предыдущего ЭУ вызывается событие LostFocus, а для нового – GotFocus.
Г. События формы – Load (происходит при загрузке формы в память, используется для инициализации объектов и переменных), Unload (происходит при удалении формы из памяти, параметр Cancel отменяет удаление формы с экрана), QueryUnload (помимо параметра Cancel в процедуру обработки события передается параметр UnloadMode, указывающий причину события), Resize (происходит при изменении размеров формы).
Имя процедуры обработки события формы всегда содержит слово Form. При этом не важно, как называется форма: Form_Событие([Аргументы…]).
Таблица 3.1
Элемент Управления
|
Префикс имени элемента |
Свойство- -значение |
Флажок (Checkbox) |
chk |
Value |
Комбинированный блок (ComboBox) |
cbo |
Text |
Командная кнопка (СommandButton) |
cmd |
Value |
Элемент управления в процедурах, когда конкретный тип не известен |
ctr |
|
Элемент управления (Data) |
dat |
Caption |
Окно каталогов (DirListBox) |
dir |
Path |
Окно дисководов (DriveListBox) |
drv |
Driver |
Окно файлов (FileListBox) |
fil |
FileName |
Форма обычная (Form) |
frm |
|
MDI-форма |
mdifrm |
|
Дочерняя MDI-форма (MDI-Child) |
cfrm |
|
Диалоговая форма |
dfrm |
|
Кадр (Frame) |
fra |
Caption |
Вертикальная полоса прокрутки (VScrollBar) |
vsb |
Value |
Горизонтальная полоса прокрутки HScrollBar) |
hsb |
Value |
Образ (Image) |
img |
Picture |
Метка (Label) |
lbl |
Caption |
Линия (Line) |
lin |
Visible |
Простой список (ListBox) |
lst |
Text |
Меню (Menu) |
mnu |
|
OLE-объект |
ole |
|
Изображение (Picture) |
pic |
Picture |
Фигура (Shape) |
shp |
Shape |
Текстовое поле (TextBox) |
txt |
Text |
Таймер (Timer) |
tmr |
Enabled |
Панель инструментов (ToolBar) |
tlb |
|
Переключатель |
|
Value |
Связанный комбинированный блок |
|
Text |
Связанная сетка |
|
Text |
Связанный простой список |
|
Text |
Окно общего диалога |
|
Action |