Диалоговые окна для обмена сообщениями
Встроенная функция 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.Окно-сообщение с кнопками