В проектах Visual Basic часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода. Они встроены в Visual Basic, и если их возможностей окажется достаточно, вам не придется проектировать нестандартные диалоговые окна. Окно сообщения(МsgВох) выводит простейшие сообщения для пользователя, а окно ввода (InputBox), напротив, служит для ввода информации.
Окно сообщения
Оператор для создания окна сообщения выглядит так (в сокращенном варианте):
MsgBox сообщение, атрибуты, заголовок
где сообщение — текст, отображаемый в диалоговом окне; заголовок — строка в заголовке окна; параметр атрибуты определяет особенности окна — а именно различные кнопки и значки, отображаемые в нем. Ниже перечислены значения этого параметра и константы, используемые для определения окна сообщения.
Константа | Значение | Стиль |
vbOKOnly | Отображается только кнопка ОК | |
vbOKCancel | Отображаются кнопки ОК и Cancel | |
vbAbortRetrylgnore | Отображаются кнопки Abort, Retry и Ignore | |
vbYesNoCancel | Отображаются кнопки Yes, No и Cancel | |
vbYesNo | Отображаются кнопки Yes и No | |
vbRetryCancel | Отображаются кнопки Retry и Cancel | |
vbCritical | Отображается значок критического сообщения | |
vbQuestion | Отображается вопросительный знак (предупреждение) | |
vbExclamation | Отображается восклицательный знак (предупреждение) | |
vblnformation | Отображается значок информационного сообщения |
Значения констант можно складывать, чтобы достичь желаемого результата. Например, чтобы в окне сообщения присутствовали кнопки OK и Cancel, a также зна-
|
|
чок информационного сообщения, можно воспользоваться любым из приведенных ниже вариантов:
DlgDef = vbOKCancel
DlgDef = 1 + 64
Затем значение переменной DlgDef используется при вызове MsgBox.
Окно сообщения также может вызываться при помощи функции — возвращаемое значение зависит от кнопки, нажатой пользователем. Синтаксис функции MsgBox практически совпадает с синтаксисом одноименного оператора:
Dim гс As Integer 'Код возврата
rc = МздВох(сообщение, атрибуты, заголовок)
Обратите внимание на скобки, необходимые при вызове функции. Различные коды возврата перечислены ниже.
Константа | Значение | Нажатаякнопка |
vbOK | ОК | |
vbCancel. | Cancel | |
vbAbort | Abort | |
vbRetry | Retry | |
vblgnore | Ignore | |
vbYes | Yes | |
vbNo | No |
Окно ввода
Окно ввода, как и окно сообщения, может отображаться оператором или функцией. Сокращенный синтаксис функции выглядит так:
Dim гс As String
гс = InputВох(сообщение, заголовок, умолчание)
На этот раз параметр атрибуты отсутствует, однако появляется дополнительный параметр умолчание. В нем можно задать строку, которая будет по умолчанию находиться в текстовом поле. Когда пользователь нажимает кнопку OK, содержимое этого поля присваивается переменной (в нашем примере rс). Если пользователь нажал кнопку Cancel, возвращается строка нулевой длины.
|
|
ПРИМЕЧАНИЕ Обратите внимание — функция InputBox возвращает строку, а функция MsgBox — значение целого типа.
Следующий пример показывает, как пользоваться функцией InputBox: 1. Создайте новый проект командой File > New Project
2. Выберите в Project Wizard значок Standard EXE.
3. Добавьте кнопку на форму Form1.
4. В окне свойств задайте свойству Name кнопки значение cmdTryMe.
5. Задайте свойству Caption кнопки значение &Нажми меня.
6. Дважды щелкните на кнопке cmdTryMe, чтобы открыть окно программы.
7. Добавьте следующий фрагмент в процедуру события Click кнопки cmdTryMe:
Private Sub cmdTryMe_Click()
Dim rс As String
rc = InputВох("Введите имя:")
MsgBox "Привет, " & rс & "!"
End Sub
8. Запустите программу командой Run > Start.
9. Нажмите кнопку, чтобы вызвать диалоговое окно InputBox. 10. Введите в текстовом поле свое имя и нажмите кнопку ОК.
Этот маленький пример в общих чертах показывает, как работают диалоговые окна MsgBox и InputBox. Если все сделано правильно, в окне ввода вам будет предложено ввести имя, после чего Visual Basic выдает окно сообщения со строкой типа «Привет, Стив!» (разумеется, в вашем случае будет выведено имя, заданное в окне ввода).