Диалоговые окна для обмена сообщениями
ДИАЛОГОВЫЕ ОКНА
Существует несколько типов диалоговых окон, которые необходимы для поддержания в программе интерактивного режима работы конечного пользователя (вывод сообщений пользователю, прием и интерпретация указаний, введенных пользователем, и др.).
Встроенная функция 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 | Конец процедуры |