Лекция: Окно сообщения (MsgBox)
Диалоговое окно сообщения (рис. 7.19) не требует проектирования и вызы вается из программы командой MsgBox или с помощью аналогичной функции MsgBox о, имеющей следующий синтаксис:
MsgBox (prompt[, buttons] [, title] [, helpfile, context])
где:
- prompt — текст сообщения в диалоговом окне. Максимальная длина текста 1024 символа. В этот текст можно вставить в качестве разделителей строк перевод каретки Chr(13), перевод строки Chr(lO) или их комбинацию;
- buttons — числовое выражение, которое задает параметры для кнопок управления и значков в диалоговом окне и составлено из констант, указанных в табл. 7.8 и 7.9. Если значение не указано, то по умолчанию присваивается значение 0;
- title — текст заголовка диалогового окна;
- helpfile — ссылка на файл справочной системы;
- context — ссылка на содержание в файле справочной системы.
Необходимо иметь в виду, что для задания нескольких параметров кнопок и значков одновременно, следует просто сложить соответствующие константы.
Для примера введите в командном окне среды проектированияImmediateследующую команду и нажмите клавишу <Enter>:
MsgBox «Приветствуем Вас!», vbYesNo + vbExclamation,«Окно сообщений»
В ответ получите диалоговое окно
Таблица 7.8.Константы параметров для значков диалогового окна сообщения
| Значок | Константа | Значение | Тип сообщения |
| vbExclamation | Предупреждение | ||
| vbQuestion | Запрос | ||
| vbInformation | Информация | ||
| vbCritical | Ошибка |
В диалоговых окнах сообщении можно управлять отображаемыми в окне сообщения кнопками и установкой фокуса на одной из кнопок при открытии окна. Для этого можно использовать константы, приведенные в табл. 7.9.
Таблица 7.9.Константы параметров наличия кнопок в окне сообщения и установки фокуса на кнопку
| Константа | Значение | Набор кнопок в диалоговом окне |
| vbOkOnly | OK | |
| vbOkCancel | OK, Отмена | |
| vbAbortRetryIgnore | Стоп, Повтор, Пропустить | |
| vbYesNoCancel | Да, Нет, Отмена | |
| vbYesNo | Да, Нет | |
| vbRetryCancel | Повтор, Отмена | |
| vbDefaultButton1 | Устанавливает фокус на первой кнопке | |
| vbDefaultButton2 | Устанавливает фокус на второй кнопке | |
| vbDefaultButton3 | Устанавливает фокус на третьей кнопке | |
| vbDefaultButton4 | Устанавливает фокус на четвертой кнопке | |
| vbApplicationModal | Назначает модальность приложения. Диалоговое окно будет модальным, то есть требующим обязательного закрытия для перехода в другие окна | |
| vbSystemModal | Назначает модальность системы. Диалоговое окно будет модальным на уровне системы, то есть пока диалоговое окно не закрыто, в любое другое приложение перейти нельзя | |
| vbMsgBoxHelpButton | Добавляет в диалоговое окно кнопку Справка | |
| VbMsgBoxSetForeground | Объявляет диалоговое окно фоновым окном | |
| vbMsgBoxRight | Выравнивает текст в диалоговом окне по правому краю | |
| vbMsgBoxRtIReading | 1 048 576 | Переворачивает текст для чтения справа налево |
В зависимости от выбора кнопки диалоговое окноMsgBox возвращает одно из значений, заданных системными константами. Это необходимо для анализа нажатой кнопки и выполнения соответствующих действий в программе. В исходном коде для этого можно использовать константы, указанные в табл. 7.10.
Таблица 7.10.Значения констант, возвращаемые кнопками окна сообщения
| Кнопка | Константа | Значение при нажатии на кнопку |
| ОК | vb0k | |
| Отмена | vbCancel | |
| Стоп | vbAbort | |
| Повтор | vbRetry | |
| Пропустить | vblgnore | |
| Да | vbYes | |
| Нет | vbNo |