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

Встроенная функция MsgBox()обеспечивает создание диалоговых окон различных типов.

1. Простое окно-сообщение

MsgBox ("строка_сообщения")

Если в сообщении должно присутствовать значение переменной или элемента массива переменной, элемент структуры пользовательского типа данных и т.п., следует преобразовать значения в строковый тип и обеспечить конкатенацию строк.

Пример 19.37.Вывод сообщения о значении переменной

Текст программы Комментарий
Option Explicit     Sub Msg_Priim() Dim a As Single Randomize   a=rnd   MsgBox "Значение случайного числа " & Str(a) End Sub Обязательность объявления всех переменных в модуле перед их использованием Объявление процедуры Объявление переменной Запуск генератора случайных чисел Присвоение переменной значения случайного числа Вывод сообщения   Конец процедуры

В результате выполнения процедуры будет выведено окно (рис. 19.23).

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

Рис. 19.23.Окно-сообщение

2. Окно-сообщение с командными кнопками

Общий формат оператора:

MsgВох("строка_сообщение"[, <кнопки>] [, "заголовок_окна"] [, <файл-подсказки>, <контекст>])

где <строка_сообщение> - максимальная длина строки – 1024 символа;

<кнопки> - число, являющееся суммой кодов выбранных типов кнопок и

пиктограммы, или имена кнопок;

<заголовок_окна> - строка символов;

<файл-подсказки> - имя файла-подсказки для контекстно-зависимой помощи при работе в

окне, строка символов;

<контекст> - число, которое назначено подсказке для данного окна.

Коды задания командных кнопок и пиктограмм в функции MsgBox() приведены в табл. 19.7. Функция MsgBox() возвращает код (число), соответствующий нажатой кнопке.

Таблица 19.7. Список видов командных кнопок и их кодов

Код Константа Описание
Коды командных кнопок
vbOKOnly OK
vbOKCancel OK, Отмена
vbAbortRetryIgnore Прекратить, Повторить, Игнорировать
vbYesNoCancel Да, Нет, Отмена
vbYesNo Да, Нет
vbRetryCancel Повторить, Отмена

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

Пример 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).

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

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

Наши рекомендации