Здесь мы перечислим параметры, используемые при задании диалогового окна.
В таблице 1 перечислены значения, позволяющие определять типы кнопок и значков, выводимых в диалоговом окне.
ТИПЫ КНОПОК | |
---|---|
Значение | Результат |
0 | Отображается одна кнопка OK. |
1 | Отображаются кнопки OK и Отмена (Cancel). |
2 | Отображаются кнопки Стоп(Abort), Повторить(Retry) и Пропустить(Ignore). |
3 | Отображаются кнопки Да(Yes), Нет(No) и Отмена(Cancel). |
4 | Отображаются кнопки Да(Yes) и Нет(No). |
5 | Отображаются кнопки Повторить(Retry) и Отмена(Cancel). |
ТИПЫ ЗНАЧКОВ | |
Значение | Результат |
0 | Никакой значок не отображается |
16 | Отображается значок Стоп: |
32 | Отображается значок Вопрос: |
48 | Отображается значок Восклицание: |
64 | Отображается значок Информация: |
ТИПЫ ЗНАЧКОВ | |
Значение | Результат |
0 | Первая кнопка. |
256 | Вторая кнопка. |
512 | Третья кнопка. |
Например, если необходимо отобразить диалоговое окно с тремя кнопками Да(Yes), Нет(No) и Отмена(Cancel) (значение подпараметра равно 3), со значком Восклицание (значение подпараметра равно 48) и третьей кнопкой Отмена(Cancel) по умолчанию (значение подпараметра равно 512), то второй параметр у функции MsgBox() будет равен 563 (3+48+512):
X = MsgBox ("Вы действительно хотите завершить процесс?", 563, "Сообщение")
Результат выполнения приведен на рисунке 1:
Рис.1. Результат выполнения функции MsgBox()
Функция MsgBox() возвращает целочисленное значение, по которому можно определить, какая кнопка была нажата, и выполнить необходимые действия. Коды возврата функции приведены в таблице 2.
Возвращаемое значение | Нажата кнопка |
---|---|
1 | ОК |
2 | Cancel (Отмена) |
3 | Abort (Стоп) |
4 | Retry (Повтор) |
5 | Ignore (Пропустить) |
6 | Yes (Да) |
7 | No (Нет) |
Отметим важную особенность, характерную для языка VBScript. Если не требуется сохранить возвращаемое функцией значение, то обращение к ней нужно оформлять без использования скобок. Например, если возвращаемое приведенной выше функцией MsgBox() значение не нужно сохранить, то конструкция:
MsgBox ("Вы действительно хотите завершить процесс?", 563, "Сообщение")
скорее всего, вызовет сообщение об ошибке или не будет выполнена ввобще. Напротив, конструкция:
MsgBox "Вы действительно хотите завершить процесс?", 563, "Сообщение"
будет выполнена верно.