logo
Predmet

96 Создание пользовательских форм в среде vba. Основные элементы управления на форме. Семейство Controls (Элементов управления).

Для пользователя часто необходимо создать собственную среду, в которой на специальной форме располагаются все необходимые инструменты для работы. VBA располагает для этого всеми средствами.

Приведем создание проекта «Вычисление площади треугольника по трем известным сторонам» по шагам

Шаг 1. Создание первоначальной формы.

1.1. Выполнить Сервис ® Макрос ® Редактор Visual Basic.

1.2. Вставить форму с помощью меню Insert ® UserForm или кнопкой  .

1.3. Дать внутреннее имя форме Форма_Герон с помощью окна Properties, выставляя свойство (Name) равноеФорма_Герон.

1.4. Присвоить заголовку форму имя Герон с помощью окна Properties, выставляя свойство Caption равное Герон.

1.5. Создать надпись «Вычисление площади треугольника» с помощью инструмента Надпись   панели элементов. При необходимости воспользоваться окном Properties, свойствами FontAlign.

1.6. В результате получиться следующий рисунок. Шаг 2. Создание элементов для ввода данных.

2.1. Создать блок для ввода данных стороны a с помощью инструмента Поле  панели элементов. В окнеProperties, присвоить ему свойство (Name) равное a_Textbox

2.2. Создать надпись «Сторона A=» с помощью инструмента Надпись   панели элементов. При необходимости воспользоваться окном Properties, свойствами FontAlign.

2.3. В результате получиться следующее.

2.4. Аналогично создать блоки для ввода значений сторон B, C и вывода пло­ща­ди треугольника S. Для B —b_Textbox, C — c_Textbox, S — s_Textbox. Шаг 3. Создание элемента для начала вычислений.

3.1. Создать кнопку «Вычислить!» с помощью инструмента Кнопка  панели элементов. В окне Properties, выставить свойства (Name) равное Calc_Button, Caption равное «Вычислить!».

3.2. Сделать двойной щелчок на кнопке Вычислить! и ввести программный код.

Private Sub Calc_Button_Click()

Dim A, b, c, p, s As Double

Dim d1, d2, tr_ok As Boolean

A = Val(a_TextBox.Value)

b = Val(b_TextBox.Value)

c = Val(c_TextBox.Value)

d1 = (A >= 0) And (b >= 0) And (c >= 0)

d2 = (A + b > c) And (A + c > b) And (b + c > A)

tr_ok = d1 And d2

If tr_ok Then

p = (A + b + c) / 2

s = Sqr(p * (p - A) * (p - b) * (p - c))

s_TextBox.Value = s

MsgBox ("s=" + Str(s))

Else

MsgBox ("Треугольник не существует")

s_TextBox.Value = "Треугольник не существует"

End If

End Sub Шаг 4. Запуск формы.

4.1. Осуществить запуск формы с помощью Run ® Run Sub/UserForm или с помощью кнопки  .

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

В этом разделе мы рассмотрим наиболее простые и часто используемые элементы управления: текстовое поле, надпись, поле со списком, переключатель, выключатель и флажок. Формы с вкладками и многостраничные формы будут подробно рассмотрены в гл. 9 .

Чтобы сделать форму более понятной и легко читаемой, в нее добавляют'заголовки, подписи или пояснения. Этот текст является неизменяемым и создается с помощью элемента управления Надпись (Label).

Для отображения, ввода или изменения в форме текстовых данных, например примечаний, используют текстовые поля, которые создаются с помощью элемента управления Поле (Text Box).

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

Группа (рис. 5.13) тоже представляет собой элемент управления, который имеет название Группа переключателей (Option group). С каждым элементом управления в группе сопоставляется уникальное число, однозначно определяющее данный элемент в группе, и это число сохраняется в качестве значения свойства Значение (Option Value) элемента управления. Отдельно стоящий элемент управления типа Флажки (Check box), Переключатели (Option button) или Выключатели (Toggle button), не включенный в группу подобных элементов, определяет значение логического типа: Да (Yes) или Нет (No), В данном случае вместо значения Да допускается использовать значение Истина (True) или любое положительное число, а вместо значения Нет — значение Ложь (False) или ноль. Элементы управления Флажки (Check box), Переключатели (Option button), Выключатели (Toggle button) и Группа переключателей (Option group) имеют свойство Значение по умолчанию (Default Value), позволяющее задать первоначальное состояние элемента управления или группы. Для отдельного элемента управления в качестве значения этого свойства используется значение логического типа, а для группы — число, сопоставленное с одним из элементов группы (с тем элементом, который будет выбран в группе по умолчанию).

Кроме групп элементов, для предоставления выбора значения какого-либо параметра из заданного набора можно использовать элементы управления Список (List Box) или Поле со списком (Combo Box). Ввести значение в поле со списком можно двумя способами: ввести значение в поле или выбрать значение в раскрывающемся списке.

Когда требуется выбрать одно из нескольких возможных значений, пользователю намного удобнее работать со списком или группой элементов, чем с текстовым полем. Во-первых, чтобы сделать выбор, пользователю не нужно вводить значение полностью, а достаточно лишь щелкнуть кнопкой мыши, чтобы выделить нужный элемент. Во-вторых, нет необходимости помнить все допустимые при выборе значения, поскольку они явно перечислены в элементах группы или списка. Поэтому, чтобы сделать интерфейс приложения более удобным для пользователя, используйте в формах группы или списки вместо текстовых полей всегда, когда нужно обеспечить выбор одного из нескольких значений. А также используйте отдельные флажки, выключатели или переключатели вместо текстовых полей, когда требуется предоставить пользователю выбор между альтернативами "да" — "нет" для заданных параметров.

Семейство Controls (Элементов управления).

Элемент управления Control. Элемент диалогового окна, предназначенный для задания параметров пользователем. В диалоговых окнах могут присутствовать как стандартные элементы управления (например флажки, раскрывающиеся списки и прочие), так и более редкие (палитры и другие специальные элементы).

Элемент управления (Control)

Элемент управления (Control) - примитив графического интерфейса пользователя, имеющий стандартный внешний вид и выполняющий стандартные действия.

Элементы управления (controls) предназначены для отображения и редактирования различной информации, для оформления формы (линии, прямоугольники), а также для совершения некоторых действий (например, при нажатии на Кнопку (Command Button) может быть открыта другая форма, отчет, запущен на выполнение макрос или программа на Visual Basic и т.д.).

Элементы управления можно классифицировать несколькими способами в зависимости от того, какой аспект их применения рассматривается. Например, наиболее общий подход к классификации элементов управления, это функциональное разделение на три группы. К первой группе с этой точки зрения относятся элементы, способные содержать информацию, ко второй — элементы, предназначенные для выполнения некоторых действий (кнопки (Command Buttons)). Третью группу составляют элементы оформления (линии, прямоугольники).

Стандартный набор элементов интерфейса, включающий следующие элементы управления:

кнопка (button);

список (list box);

ниспадающее меню (pull down menu);

раскрывающийся список (combo box);

флажок/переключатель (check box);

радио-кнопка (radio button);

поле редактирования (textbox, edit field);

значок (icon);

панель инструментов (toolbar);

строка состояния (status bar);

всплывающая подсказка (tooltip, hint);

полоса прокрутки (scrollbar);

вкладка (tab);

элемент для отображения табличных данных (grid view);

меню (menu);

главное меню окна (main menu);

контекстное меню (popup menu);

окно (window);

панель (panel);

диалоговое окно (dialog box);

модальное окно (modal window);

дерево — элемент для отображения иерархии (tree view)