Встроенные окна диалога
VB предоставляет разработчику возможность создавать стандартные диалоговые окна с помощью набора встроенных функций.
Для ввода данных используется функция InputBox. Функция возвращает введенное значение. Значение преобразуется к типу выражения, в котором вызывается InputBox.
InputBox (prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])'
'prompt –комментарий к вводу информации
'title –заголовок окна
'default -значение по умолчанию для строки ввода
'xpos, ypos -координаты верхнего левого угла окна
Пример вызова:
MyValue = InputBox ("Введите Х", "Заголовок", "0", 500, 300)
MsgBox используется для вывода диалогового окна сообщения. Синтаксис ее применения следующий:
MsgBox сообщение [, тип окна] [, заголовок окна], где:
сообщение - текст сообщения;
тип окна-это сумма значений констант, определяющих число и тип кнопок на диалоговом окне, стиль пиктограмм, используемых в окне, и др. спецификации. В таблице 2.1 приведены некоторые допустимые константы, их значения и описание.
заголовок окна - текст заголовка диалогового окна.
В качестве значения аргумента может указываться сумма значений типа по одному из каждой группы.
Например, в операторе MsgBox «Удалить ?», 36
значение аргумента 36 является суммой 32 и 4 (32 - вывод пиктограммы с вопросительным знаком, 4 - кнопки «Yes» и «No»).
На рис 3.1 приведен пример окна
MsgBox «Закончить?», 36, «Пример окна MsgBox».
Функция MsgBox в зависимости от нажатой кнопки из списка отображаемых может возвращать значения, приведенные в таблице 2.2. Эти значения можно использовать для обработки результата работы пользователя с окном MsgBox.
Таблица 3.1.
Значения основных констант диалога MsgBox и их описание
Группа | Значение типа | Описание |
Выводить только кнопку ОК | ||
Выводить кнопки ОК и Cancel | ||
Выводить кнопки Abort, Retry, Ignore | ||
Выводить кнопки Yes, Nо, Саnсеl | ||
Выводить кнопки Yes, Nо | ||
Выводить кнопки Retry, Саnсеl | ||
Выводить пиктограмму "Стоп" | ||
Выводить пиктограмму "?" | ||
Выводить пиктограмму "!" | ||
Выводить пиктограмму информации | ||
Кнопка по умолчанию - первая | ||
Кнопка по умолчанию - вторая | ||
Кнопка по умолчанию - третья | ||
Программное ведущее диалоговое окно | ||
Системное ведущее диалоговое окно |
Private Sub Form_Load()
'Решение квадратного уравнения'
Dim a, b, c, d, x1, x2 As Single
MsgBox "A*X^2 + B*X + C = 0"
a = InputBox("A = ")
b = InputBox("B = ")
c = InputBox("C = ")
If a = 0 Then
If b = 0 Then
MsgBox "Нет решений"
Else
x1 = -c / b
MsgBox "X = " + Str(x1)
End If
Else
d = b ^ 2 - 4 * a * c
If d < 0 Then
MsgBox "Нет решений"
Else
x1 = (-b + Sqr(d)) / 2
x2 = (-b - Sqr(d)) / 2
MsgBox "X1 = " + Str(x1) + " , X2 = " + Str(x2)
End If
End If
End Sub