Значения аргумента кнопки процедуры MsgBox
Константа |
Значение / код |
Отображаемые кнопки |
VbOkOnly |
0 MsgBox("Привет!", vbOKOnly)=vbOk |
|
VbOkCancel |
1 MsgBox ("Привет!", vbOKCancel)=vbOk |
|
VbAbortRetryIgnore |
2 MsgBox ("Привет!", VbAbortRetryIgnore)=vbAbort |
|
VbYesNoCancel |
3 MsgBox("Привет!", VbYesNoCancel)=vbYes |
|
VbYesNo |
4 MsgBox ("Привет!", vbYesNo)=vbYes |
|
VbRetryCancel |
5 MsgBox ("Привет!", VbRetryCancel)=vbretry |
|
Примечание. Первые кнопки активны по умолчанию.
С помощью одного числа, являющегося суммой кодов нескольких параметров, можно одновременно установить определенную пиктограмму и определенную комбинацию кнопок, размещенных на панели сообщений. Например, число 36 можно рассматривать как сумму чисел 32 (код пиктограммы «Вопрос») и 4 (код комбинации кнопок Да, Нет).
В процессе использования условно-бесплатных программ пользователю часто предлагается зарегистрироваться. Процесс регистрации достаточно просто можно запрограммировать.
Dim bytA As Byte
Sub Command1_Click()
bytA = MsgBox("Вы хотите зарегистрироваться?", _
36, "Вопрос")
Form1.Print bytA
End Sub
Функция MsgBox выводит панель сообщений с текстом, пиктограмой вопроса и кнопками Да, Нет. Нажатие на кнопку приводит к определению значения функции, зависящего от выбранной кнопки.
Таблица 6. Значения функции MsgBox
Значения функции |
Нажатая кнопка |
1 |
ОК |
2 |
Отмена |
3 |
Стоп |
4 |
Повтор |
5 |
Пропустить |
6 |
Да |
7 |
Нет |
Далее значение функции MsgBox присваивается целочисленной переменной bytA (нажатие на кнопку Да соответствует числу 6) и печатается на форме.
Рис. 11. Использование функции MsgBox
Пример
Создать форму, имитирующую простейшую игру в орла и решку. Игрок выставляет флажок вместо подбрасывания монеты, а компьютер после нажатия кнопки Бросание монеты запускает случайное число, соответствующее орлу или решке. При совпадении выигрывает компьютер, при несовпадении – игрок. Все действия сопровождаются всплывающими диалоговыми окнами.
Технология выполнения
Создайте форму для реализации этой игры.
Описание процедур.
Кнопка Бросание монеты
Private Sub CommandButton1_Click()
Randomize
монета=Int(2 * Rnd)
If OptionButton1.Value=True Then
If монета=0 Then MsgBox «не везет. Займись-ка лучше изучением VBA»
If монета=1 Then MsgBox «везунчик. Поздравляю, ты выиграл»
End If
If OptionButton2.Value=True Then
Разработанная форма примера в рабочем состоянии и диалоговое окно, реагирующее на результат игры
If монета=1 Then MsgBox «не везет. Займись-ка лучше изучением VBA»
If монета=0 Then MsgBox «везунчик. Поздравляю, ты выиграл»
End If End Sub
Кнопка Выход из игры
Private Sub CommandButton2_Click()
Dim ima As String
intA=MsgBox(« Нажмите кнопку!», vbYesNoCancel +
vbExclamation + vbDefaultButton3, «VBA для чайников!»)
If MsgBox(«начинать?», vbYesNoCancel)=vbYes Then
ima=InputBox(«введите Ваше имя», «Пример окна ввода»)
If ima <> "" Then
MsgBox «Привет, » & ima, vbInformation, «Пример окна сообщения»
Else
MsgBox «невежа, ты забыл ввести свое имя» & ima, vbExclamation, «еще один пример окна сообщения» End If
Else
If MsgBox(«ты точно подумал?», vbYesNoCancel)=vbNo Then
MsgBox («ха-ха»)
Else: MsgBox « Ну наконец-таки!»
Unload Me
End If
End If End Sub