Экранные формы. Автоматизация экранных форм
Цель работы: приобретение навыков создания форм, вставки элементов управления в экранные формы, управления поведением и перемещения данных из экранных форм в рабочий лист.
1 Теоретические сведения
Для того чтобы придать разрабатываемому приложению профессиональный вид, необходимо воспользоваться экранными формами. Элементы управления встраиваются в экранную форму точно также, как и в рабочий лист. Вставка экранной формы: - открыть новую рабочую книгу; - Сервис → Макрос → Редактор VB; - Insert → UserForm (Вставка → Экранная форма). Созданная экранная форма имеет по умолчанию строку заголовка с заголовком User Form 1. Сетка на макете формы помогает размещению элементов управления при отображении формы. Сетка в приложении не видна. При создании экранной Формы автоматически отображается панель инструментов Панель элементов. В экранной форме можно перемещать, изменять размеры элементов управления. После завершения разработки экранной формы можно посмотреть в действии полученный результат с помощью команды Run → Run Sub/UserForm. 1.1 Элементы управления в программах на VB 1.1.1 Элемент Поле ввода (TextBox) Элемент управления Поле ввода (TextBox) используется для ввода текста пользователя и/или для вывода результатов программы. Для его размещения в форме предназначена кнопка на панели инструментов. Основные свойства элемента Поле ввода представлены в таблице 3.1.
Таблица 3.1
1.1.2 Элемент Надпись (Label) Элемент управления Надпись (Label) создается инструментом и, как правило, используется для расположения текста рядом с эле ментом управления, не имеющим своих свойств для вывода текста. Таким элементом является Поле ввода. Надпись не может быть изменена пользователем во время выполнения программы. Основные свойства элемента Надпись (кроме свойств Name, Font и Alignment, аналогичных таким же свойствам элемента Поле ввода) представлены в таблице 3.2.
Таблица 3.2
1.1.3 Элемент Кнопка (CommandButton) Данный элемент используется в основном для инициирования выполнения некоторых действий (проведение расчетов, печати результатов и т.п.). В форме он размещается инструментом . Свойства Name, Caption и Font элемента Кнопка аналогичны таким же свойствам рассмотренных ранее элементов. При наличии в форме кнопок в программе должны быть оформлены процедуры, обрабатывающие «нажатие» каждой кнопки. Для записи процедур необходимо дважды щелкнуть мышью на кнопке – появится лист модуля формы с заготовкой процедуры обработки события Click. Например: Private Sub Command_Click() ‘Command – свойство Name кнопки End Sub В указанных процедурах указываются действия, которые должны производиться при нажатии кнопки. Можно также сделать так, чтобы процедура обработки нажатия кнопки выполнялась не только при щелчке на ней мышью, но и при нажатии клавиши Enter (для этого следует свойству Default кнопки присвоить значение, равное True); при одновременном нажатии клавиши Alt и некоторой буквенной клавиши. Для этого в строковом выражении, присваиваемом свойству Caption кнопки, следует перед одной из букв указать знак &, например, & Выполнить или О& тменить. Это приводит к тому, что символ, перед которым стоит знак &, отображает ся подчеркнутым (В ыполнить, О т менить). Именно эту подчеркнутую букву и следует нажать одновременно с клавишей Alt для выполнения процедуры.
1.1.4 Элемент Переключатель (OptionButton) Элемент Переключатель (OptionButton) имеет два состояния: выбран и не выбран. В первом случае значение его свойства Value равно True, во втором – False. Текст, выводимый рядом с переключателем, определяется значением его свойства Caption. Для размещения переключателя в форме используется кнопка на панели инструментов. 1.1.5 Элемент Рамка (Frame) Элемент управления Рамка (Frame) создается кнопкой и используется для визуальной группировки других элементов управления. Обычно в таких рамках размещаются переключатели и флажки. Основным свойством рамки является свойство Capture, задающее или возвращающее текст, отображаемый в заголовке рамки. Для того чтобы элементы управления, представленные в рамке, были видны, их надо размещать в форме после размещения в ней рамки. 1.1.6 Элемент Флажок (CheckBox) Элемент Флажок (CheckBox) имеет три состояния, т.е. его свойство Value – принимать три значения (таблица 3.3):
Таблица 3.3
Флажки обычно группируются по группам с помощью рамок. В отличие от переключателя, флажки в группе не являются взаимоисключающими элементами, т.е. в группе можно выбрать несколько флажков. Для размещения флажков в форме используется кнопка на панели инструментов.
1.1.7 Элемент Полоса прокрутки (HScrolBar и VScrolBar) Элемент управления Полоса прокрутки применяется для установки числового значения из заданного диапазона. Имеются два вари анта этого элемента – располагаемые в форме горизонтально и вертикально. Для размещения того или иного варианта полосы прокрутки используется соответствующая кнопка на панели инструментов. Основные свойства элемента управления Полоса прокрутки представлены в таблице 3.4.
Таблица 3.4
Допустимый тип значений всех указанных свойств – Integer.
1.1.8 Элемент Список (ListBox) Элемент управления Список (ListBox) используется для хранения списка значений. Из списка пользователь может выбрать одно или несколько значений, которые в последующем используются в программе. Основные свойства элемента управления Список представлены в таблице 3.5. Для размещения элемента Список в форме предназначена кнопка . Часто используемые методы списка представлены в таблице 3.6. Таблица 3.5
Таблица 3.6
1.1.9 Элемент Комбинированное поле (ComboBox) Элемент управления Комбинированное поле применяется для хранения списка значений. Он сочетает в себе функциональные возможности элементов Список (ListBox) и Поле Ввода (TextBox). В отличие от элемента Список (ListBox), в комбинированном поле отображается только один элемент (а не весь список). Кроме того, у него отсутствует режим выделения нескольких элементов списка, но в него можно вводить значения через поле ввода, как в элементе управления Поле ввода. Размещение в форме элемента управления Комбинированное поле осуществляется кнопкой на панели инструментов.
Свойства ListIndex, ListCount, Text и List и методы Clear, RemoveItem и AddItem элемента Комбинированное поле аналогичны соответствующим свойствам и методам списка ListBox.
1.1.10 Массив элементов управления Работа с несколькими одинаковыми элементами значительно упрощается при использовании массивов элементов управления. Массив элементов управления – это группа элементов управления, которые имеют одни и те же имя и тип и совместно используют общие процедуры обработки событий и общие операторы. Рассмотрим пример создания массива элементов Кнопка, на которых написаны цифры 0, 1, 2, 3, …, 9: - разместите на форме одну кнопку и установите ее размеры. С помощью окна Свойств (Property) измените значение ее свойства Name на Command; - выделите созданную кнопку и скопируйте ее в буфер обмена; - вставьте копию кнопки в форму – на экране отобразится диалоговое окно с вопросом о создании массива элементов управления. Нажмите кнопку Да (Yes) – в форме создастся второй элемент управления Кнопка с именем Command. Поместите его на форме в нужном месте. Вставьте еще 8 копий кнопки. Все созданные кнопки образуют массив Command из 10-ти элементов. Индексы элементов: 0 (первая созданная кнопка), 1 (вторая), …, 9 (последняя). Обращение к тому или иному элементу массива осуществляется так же, как это делается с массивами в процедурных языках программирования: необходимо указать имя массива и в скобках – индекс элемента. Например: Command(2).FondBold = True Command(2).Caption = 3 Теперь для задания полужирного начертания символов на всех кнопках с цифрами можно написать: For i=0 To Command(i).FondBold = True Next i а для задания цифр от одного до девяти на кнопках: For i=0 To 8 Command(i).Caption = i+1 Next i
2 Практическая часть
З а д а н и е 1 Разработайте программу, в которой имеется форма с двумя элементами Поле ввода. В верхнем поле будут вводиться цифры. В нижнем поле при нажатии кнопки должно выводиться число, в 10 раз большее числа в верхнем поле. Запретите пользователю ввод значений в нижнее поле. Предусмотрите возможность очистки всех полей ввода.
З а д а н и е 2 Составьте программу, в которой после нажатия кнопки происходит обмен местами текстов, указанных в двух полях ввода.
З а д а н и е 3 Составьте программу Простейший калькулятор. Для этого: - предусмотрите вывод результатов расчетов с разделителем целой и дробной частей в виде точки; при этом результат должен выводиться в первой позиции поля ввода, а числа, меньшие единицы, – в виде 0.ХХХ…; - предусмотрите кнопку для очистки поля ввода; при этом при нажатии кнопок действий поле ввода очищаться не должно; - предусмотрите кнопки, выполняющие следующие действия: ü расчет квадратного корня числа; ü расчет значения обратной величины числа; ü расчет заданных процентов от числа; ü расчет синуса угла в градусах и радианах; ü расчет среднего арифметического двух чисел; ü расчет среднего геометрического двух чисел; ü расчет целой степени вещественного числа; ü расчет вещественной степени вещественного числа; ü расчет k -го члена последовательности Фибоначчи (1, 1, 2, 3, 5, 8, 13, …). Предусмотрите два переключателя (On и Off): разрешающий и запрещающий проведение расчетов. 3 Контрольные вопросы
3.1 Какое значение какому свойству надо задать, чтобы переключатель был выбран по умолчанию? 3.2 Как установить блокировку элемента управления? 3.3 Как вызвать форму на экран? 3.4 Как удалить экранную форму из памяти компьютера? 3.5 Где хранятся элементы списка?
Лабораторная работа 4
|