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

ДИАЛОГОВЫЕ ОКНА

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Код Константа Описание
          vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCansel vbYesNo vbRetryCansel   vbDefaultButton 1 vbDefaultButton 2 vbDefaultButton 3   vbCritical vbQuestion vbExclamation vbInformation   vbApplicationModal vbSystemModal Коды командных кнопок ОК ОК, Отмена Прекратить, Повторить, Игнорировать Да, Нет, Отмена Да, Нет Повторить, Отмена Коды активности по умолчанию Активная 1 Активная 2 Активная 3 Коды пиктограмм Важное сообщение Предупредительный запрос Предупредительное сообщение Информационное сообщение Коды модальности Программное модальное описание ( требуется обязательный ответ, работа приложения приостанавливается) Системное модальное описание ( требуется обязательный ответ, работа всех приложений приостанавливается)

Пример 19.38. Формирование диалогового окна с кнопками

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