Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Переключатель (OptionButton)

Поиск

Элемент управления Переключатель создается кнопкой OptionButton. В отличие от CheckBox, переключатель позволяет выбрать только один из нескольких взаимоисключающих вариантов. Обычно переключатели собраны в группу и если установлен один, то остальные сброшены. Для удобства восприятия группы переключателей они, как правило, помещаются в рамку (Frame), Рис. 12‑20.

Рис. 12‑20. Элементы управления OptionButton, помещенные в рамку

Основным событием, связанным с переключателем, является событие Click. Важнейшими свойствами – Caption и Value. Проверка состояния переключателя подобна проверке состояния, в котором находится флажок.

Полоса прокрутки (ScrollBar) и счетчик (SpinButton)

Полоса прокрутки и счетчик помогают пользователю вводить численные значения. В счетчике значения изменяются только в результате щелчка по стрелкам, в полосе прокрутки – с помощью стрелок, бегунка и самой полосы прокрутки (Рис. 12‑21).

Рис. 12‑21. Полоса прокрутки и счетчик

Внимание! Изменяемые значения отображаются в поле ввода (TextBox), поэтому использование этих элементов управления самих по себе бессмысленно!

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

Свойства Описание
Value Возвращает или устанавливает текущее значение полосы прокрутки или счетчика.
Min Минимальное значение полосы прокрутки или счетчика. Это обязательно положительное число или ноль. Должно быть меньше максимального значения.
Max Максимальное значение полосы прокрутки или счетчика.
SmallChange Устанавливает шаг изменения счетчика или полосы прокрутки при щелчке по стрелкам.

Важнейшим событием, связанным с этими элементами управления является событие Change.

Пример создания формы для нахождения суммы чисел

Рассмотрим пример создания простой формы для нахождения суммы чисел, принадлежащих некоторому диапазону. Минимальное значение счетчиков 0, максимальное – 100.

1. Форма должна иметь следующий вид:

Рис. 12‑22. Форма для нахождения суммы чисел

2. Результат нахождения суммы выводить в поле Результат при изменении значений От и до (если значение в поле до: больше или равно значению в поле От).

3. Щелчок по кнопке Отмена выгружает форму из оперативной памяти.

Начальные условия

При создании формы элементам управления были присвоены следующие имена:

­ форме – frmСумма

­ полю От – txtОт

­ полю до –  txtДо

­ кнопке Отмена –  cmdОтмена

­ полю Результат – txtРезультат

Сама программа находится в модуле формы и имеет следующий вид:

Private Sub UserForm_Initialize()

spnОт. Min = 0

spnОт. Max = 100

spnОт. SmallChange = 1

   

spnДо. Min = 0

spnДо. Max = 100

spnДо. SmallChange = 1

   

cmdОтмена. Cancel = True

End Sub

 

Private Sub spnОт_Change()

txtОт.Value = spnОт.Value

Сумма = 0

If Val (txtОт.Value) <= Val (txtДо.Value) Then

  For i = Val(txtОт.Value) To Val(txtДо.Value)

      Сумма = Сумма + i

  Next

txtРезультат.Value = Сумма

Else

txtРезультат.Value = “”

End If

End Sub

Private Sub spnДо_Change()

txtДо.Value = spnДо.Value

Сумма = 0

If Val (txtОт.Value) <= Val (txtДо.Value) Then

  For i = Val(txtОт.Value) To Val(txtДо.Value)

      Сумма = Сумма + i

  Next

txtРезультат.Value = Сумма

Else

txtРезультат.Value = “”

End If

End Sub

Private Sub cmdОтмена_Click()

   Unload frmСумма

End Sub

Замечания:

1. Встроенная функция Val преобразовывает число, написанное в символьном виде, в числовой формат.

2. Условие: If Val(txtОт.Value) <= Val(txtДо.Value) Then
проверяет упорядоченность чисел «От» и «до» по возрастанию. Если числа упорядочены, то считается сумма чисел, принадлежащих заданному диапазону, если нет, то сумма не подсчитывается и поле Результат пусто.

3. Верхнюю и нижнюю границы пользователь может вводить вручную. Для того чтобы программа реагировала на введенные числа, необходимо добавить процедуру обработки события «изменение значения поля ввода». Для поля ввода txtОт она выглядит следующим образом:

 

Private Sub txtОт_Change()

  Сумма = 0

  If Val(txtОт.Value) <= Val(txtДо.Value) Then

     For i = Val(txtОт.Value) To Val(txtДо.Value)

         Сумма = Сумма + i

     Next

txtРезультат.Value = Сумма

  Else

     txtРезультат.Value.Value = ""

  End If

End Sub

Аналогичная процедура будет и для поля ввода txtДо, поэтому целесообразно оформить их в виде вызова подпрограммы ИзменениеПоляВвода (напишите её самостоятельно).

4. В текстовом поле пользователь может сделать ошибку и ввести символ, а не цифру. Чтобы избежать этого необходимо проверить введенную пользователем последовательность. Как Вы знаете, это можно сделать с помощью встроенной функции IsNumeric:

Private Sub txtОт_Change()

If IsNumeric (txtОт.Value) = True Then

  Сумма = 0

  If Val(txtОт.Value) <= Val(txtДо.Value) Then

     For i = Val(txtОт.Value) To Val(txtДо.Value)

         Сумма = Сумма + i

     Next

txtРезультат.Value = Сумма

  Else

     txtРезультат.Value.Value = ""

  End If

Else: MsgBox "Число введено неверно!"

End If

End Sub

Вот теперь программа приняла законченный вид.

12.12. Создание нестандартных меню
и панелей инструментов

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



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 54; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.86.53 (0.006 с.)