Диалоговые окна для обмена сообщениями
Встроенная функция MsgBox() обеспечивает создание диалоговых окон различных типов.
1. Простое окно-сообщение
MsgBox ("строка_сообщения")
Если в сообщении должно присутствовать значение переменной или элемента массива переменной, элемент структуры пользовательского типа данных и т.п., следует преобразовать значения в строковый тип и обеспечить конкатенацию строк.
Пример 19.37. Вывод сообщения о значении переменной
| Текст программы
| Комментарий
| | Option Explicit
Sub Msg_Priim()
Dim a As Single
Randomize
a=rnd
MsgBox "Значение
случайного числа " & Str(a)
End Sub
| Обязательность объявления всех переменных в модуле перед их использованием
Объявление процедуры Объявление переменной
Запуск генератора случайных чисел
Присвоение переменной значения случайного числа
Вывод сообщения
Конец процедуры
|
В результате выполнения процедуры будет выведено окно (рис. 19.23).

Рис. 19.23. Окно-сообщение
2. Окно-сообщение с командными кнопками
Общий формат оператора:
MsgВох("строка_сообщение"[, <кнопки>] [, "заголовок_окна"] [, <файл-подсказки>, <контекст>])
где <строка_сообщение> - максимальная длина строки – 1024 символа;
<кнопки> - число, являющееся суммой кодов выбранных типов кнопок и
пиктограммы, или имена кнопок;
<заголовок_окна> - строка символов;
<файл-подсказки> - имя файла-подсказки для контекстно-зависимой помощи при работе в
окне, строка символов;
<контекст> - число, которое назначено подсказке для данного окна.
Коды задания командных кнопок и пиктограмм в функции MsgBox() приведены в табл. 19.7. Функция MsgBox() возвращает код (число), соответствующий нажатой кнопке.
Таблица 19.7. Список видов командных кнопок и их кодов
| Код
| Константа
| Описание
| | Коды командных кнопок
| |
| vbOKOnly
| OK
| |
| vbOKCancel
| OK, Отмена
| |
| vbAbortRetryIgnore
| Прекратить, Повторить, Игнорировать
| |
| vbYesNoCancel
| Да, Нет, Отмена
| |
| vbYesNo
| Да, Нет
| |
| vbRetryCancel
| Повторить, Отмена
|

Пример 19.38. Формирование диалогового окна с кнопками
| Текст программы
| Комментарий
| | Option Explicit
Sub Msg_Priim()
Dim Response As Integer
Dim Msg As String
Dim Title As String
Dim Help As String
Dim Style As Integer
Dim Ctxt As Integer
Msg = "Вы хотите продолжить?"
Style = 35
Title = "Пример окна-сообщения"
Help = "DEMO.HLP"
Ctxt = 0
Response = MsgBox(Msg; Style; Title; Help; Ctxt)
End Sub
| Обязательность объявления всех переменных в модуле перед их использованием
Объявление процедуры
Объявление переменной
Строка сообщения
Кнопки для окна (vbYesNoCancel + + vbDefaultButtonH vbQuestion)
Заголовок окна
Имя файла-подсказки
Номер контекста внутри файла-подсказки
Присвоение переменной кода ответа
Конец процедуры
|
В результате выполнения программы будет сформировано следующее окно (рис. 19.24).

Рис. 19.24. Окно-сообщение с кнопками
|