Стандартные диалоговые окна

В проектах 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 выдает окно сообщения со строкой типа «Привет, Стив!» (разумеется, в вашем случае будет выведено имя, заданное в окне ввода).

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: