Диалоговые окна для обмена сообщениями

 

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