Окно сообщения MsgBox
Диалоговое окно сообщения предназначено для выдачи сообщения пользователю. Оно не требует проектирования и вызывается из программы функцией MsgBox(), имеющей следующий синтаксис:
MsgBox(Сообщение[,Кнопки][,Заголовок][,Файл_помощи,Помощь])
Здесь:
Сообщение – обязательный аргумент; строковое выражение, которое и является сообщением или вопросом, обращенным к пользователю. Максимально может содержать около 1024 символов. Если сообщение необходимо разбить на несколько строк, то используются специальные символы кодовой таблицы ASCII: 13 – возврат каретки, 10 – переход на новую строку. Используются они в виде строки Chr(13)+Chr(10), которая добавляется к каждой из разбиваемых строк. Например:
MsgBox (“Вы уже посмотрели, как работает программа?”+Chr(13)+Chr(10)+“Завершить работу сейчас?”)
Кнопки – необязательный параметр, определяющий внешний вид окна сообщения:
Наименование константы | Набор кнопок в диалоговом окне сообщений |
VbOKOnly | ОК |
VbOKCancel | ОК, Отмена |
VbAbortRetryIgnore | Стоп, Повтор, Пропустить |
VbYesNoCancel | Да, Нет, Отмена |
VbYesNo | Да, Нет |
vbRetryCancel | Повтор, Отмена |
VbCritical | Значок критического состояния |
VbQuestion | Значок вопроса с предупреждением |
VbExclamation | Значок предупреждающего сообщения |
VbInformation | Значок информационного сообщения |
Для того, чтобы задать несколько параметров кнопок и значков одновременно, следует просто сложить соответствующие константы. Например, VbExclamation+ VbAbortRetryIgnore.
Заголовок – необязательный аргумент; строковое выражение, отображаемое в заголовке окна, если он опущен, в заголовке используется имя проекта.
Файл_помощи, Помощь – необязательные аргументы, используются в паре для подключения файла помощи, если используется кнопка Справка.
Параметр Кнопки по умолчанию имеет значение VbOKOnly.
В зависимости от выбора кнопки пользователем данная функция MsgBox возвращает следующие константы:
Нажатая кнопка | Константа |
OK | VbOK |
Отмена | VbCancel |
Стоп | VbAbort |
Повтор | VbRetry |
Пропустить | VbIgnore |
Да | VbYes |
Нет | VbNo |
Если данная функция используется просто как некоторое сообщение пользователю, т.е. нет кнопок и функция не должна возвращать никакого значения, то вместо функции MsgBox() используется команда MsgBox:
MsgBox(”Деление на ноль”).
На Рис. 5 представлен пример работы процедуры, вызывающей окно сообщения с двумя кнопками Да и Нет:
Private Sub Command1_Click()
a = MsgBox("Вы уже посмотрели, как работает_
программа?" & Chr(13)&Chr(10) & "Завершить работу_
сейчас?", vbYesNo + vbQuestion, "Демонстрация_
многострочного сообщения")
If a = vbYes Then Unload Me 'Выгрузить форму