Самоучитель VBA

       

Переключатель


Элемент управления ОptionButton (переключатель) создается с помощью кнопки Переключатель (OptionButton) (рис. 7.17). Он позволяет выбрать один из нескольких взаимоисключающих параметров или действий. Переключатели обычно отображаются группами, обеспечивая возможность выбора альтернативного варианта.

Рис. 7.17. Переключатель в форме

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



Value

Возвращает True, если переключатель выбран и False в противном случае

Enabled

Допустимые значения: True (пользователь может выбрать переключатель) и False, (в противном случае)

Visible

Допустимые значения: True (переключатель отображается во время выполнения программы) и False (в противном случае)

Capture

Надпись, отображаемая рядом с переключателем

Рассмотрим способ использования переключателей на примере классической игры "Орел и Решка". Выбирая один из двух переключателей, игрок загадывает один из вариантов: орел (Г для компьютера) или решка (0 для компьютера). Не зная о выборе игрока, компьютер синтезирует с раиной вероятностью либо 0, либо 1, что моделирует бросание монеты. Если игрок угадал правильную сторону монеты, подброшенную компьютером, то он выигрывает. В противном случае выигрывает компьютер. Компьютер информирует игрока о результате игры. На рис. 7.18 приведено диалоговое окно, отображаемое на экране в случае проигрыша игрока.

Рис. 7.18. Диалоговое окно, отображает на экране при проигрыше игрока

Для создания приложения, моделирующего игру "Орел и Решка", с помощью пользовательской формы userForm1 создадим диалоговое окно, показанное на рис. 7.19, а в модуле UserForm1 введем следующую процедуру, синтезирующую отклик на нажатие кнопки Бросание монеты.

Рис. 7.19. Диалоговое окно игры Орел-Решка

Private Sub CommandButtonl_Click ()

' Генерация с равной вероятностью либо 0 (решка), либо 1 (орел),

' т. е. моделирование бросания монеты '

Randomize

Монета = Int(2 * Rnd)

' Сравнение результата бросания монеты компьютером ' с ситуацией, если игрок загадал "Орел"

If OptionButtonl.Value = True Then

If Монета = 0 Then MsgBox "He везет. Займись-ка лучше изучением VBA"

If Монета = 1 Then MsgBox "Везунчик. Поздравляю, ты выиграл."

End If

'

' Сравнение результата бросания монеты компьютером

' с ситуацией, если игрок загадал "Решка"

'

If OptionButton2.Value = True Then

If Монета = 1 Then MsgBox "He везет. Займись-ка лучше изучением VBA"

If Монета = 0 Then MsgBox "Везунчик. Поздравляю, ты выиграл"

End If

End Sub



Содержание раздела