Определение модальности окна сообщения




Окно сообщений по умолчанию является модальным внутри приложения. Это значит, что невозможно выполнить никаких действий в приложении до тех пор, пока модальное окно не закрыто. Окно сообщений может быть также модальным в пределах операционной системы.

Вид модальности Значение параметра Идентификатор константы
В рамках приложения 0 vbApplicationModal
Во всей операционной системе 4096 vbSystemModal

Коды кнопок, возвращаемые функцией MsgBox

Функция MsgBox возвращает код кнопки, на которой щёлкнул пользователь. Для каждой кнопки предусмотрен свой код и, соответственно, своя константа.

Для анализа возвращаемого функцией MsgBox кода кнопки рекомендуется использовать приведённые в таблице константы. После определения нажатой кнопки сохраните её код в переменной для последующего использования в программе.

Кнопка Возвращаемое значение Идентификатор константы
ОК ОК 1 vbOK
Cancel Отмена 2 vbCancel
Abort Прервать 3 vbAbort
Retry Повторить 4 vbRetry
Ignore Пропустить 5 vbIgnore
Yes Да 6 vbYes
No Нет 7 vbNo

Размещение сообщения в нескольких строках

Если текст сообщения достаточно длинный, то оно будет автоматически разбито на несколько строк. Если это разбиение вас не устраивает, то вы можете выполнить разбиение сами с помощью константы vbCrLf, которая включает символы конца строки и перевода каретки в начало следующей. Для суммирования строк рекомендуется использовать знак ” & ” вместо знака ” + ”,

Dim sMessage As String ‘текст сообщения

sMessage = ”Вы действительно хотите” & vbCrLf & ”завершить работу?”

Пример использования функции MsgBox

Приведённый ниже код выводит на экран запрос о подтверждении завершения работы приложения.

Dim sMessage As String ‘ текст сообщения

Dim sTitle As String ‘ заголовок окна

Dim nBattons As Integer ‘ параметр, определяющий набор кнопок и вид пиктограммы

Dim nResult As Integer ‘ код клавиши, нажатой пользователем

sMessage = ”Вы действительно хотите завершить работу?”

sTitle = ”Завершение работы” ‘ определение заголовка окна сообщения

nBattons = vbYesNo + vbInformation ‘ определение стиля окна сообщения с кнопками “Да” и “Нет”

‘ и пиктограммой с символом “i”

nResult = MsgBox (sMessage, nBattons, sTitle) ‘ отображает на экране окно сообщений

‘ и передаёт переменной nResult код нажатой пользователем кнопки

IF nResult = vbYes Then ‘ если пользователь нажал кнопку “Да”

End ‘ завершение программы

End If

Пример использования процедуры MsgBox

Если окно сообщения содержит одну кнопку и анализировать код нажатой кнопки не нужно, то удобно использовать процедуру MsgBox, которая имеет тот же синтаксис, что и функция, но не использует скобки, в которые помещают её параметры.

Приведённый ниже код выводит на экран сообщение о назначении программы.

Dim sMessage As String ‘текст сообщения

Dim sTitle As String ‘заголовок окна

Dim nBattons As Integer ‘параметр, определяющий набор кнопок и вид пиктограммы

sMessage = "Программа вычисляет корни квадратного уравнения.” & vbCrLf & _

“Введите значения коэффициентов a, b, с ” & vbCrLf & _

”и нажмите кнопку ‘’Вычислить’’."

sTitle = ”О программе” ‘определение заголовка окна сообщения

nBattons = vbOKOnly + vbInformation ‘отображение кнопки ОК и пиктограммы Информация

MsgBox sMessage, nBattons, sTitle ‘вызов процедуры MsgBox

Окно ВВОДА

Если для работы программы нужно ввести некоторую информацию, то для этого можно использовать специальное средство – окно ввода. В окне ввода отображается сообщение, предлагающее пользователю ввести что-либо, текстовое поле, в котором он может набрать нужный текст и две кнопки (ОК и Отмена). При нажатии кнопки ОК возвращает значение, находящееся в текстовом поле окна ввода. При нажатии кнопки Отмена функция InputBox возвращает пустую строку. С точки зрения программирования, работа с окнами ввода и окнами сообщений очень похожа.

Функция возвращает строку, введённую пользователем. Длина возвращаемой строки не более 255 символов. Синтаксис функции InputBox имеет вид:

InputBox (promt, [ title ], [Default], [ XPos ], [YPos], [helpfile], [contex])
As
String

promt – обязательный параметр; строковое выражение, содержащее текст сообщения. Максимальная длина строки – 1024 символа;

title – необязательный параметр; строковое выражение, отображаемое в заголовке окна. Максимальная длина строки – около 60 символов, зависит от размера шрифта используемого в заголовках окон;

Default – необязательный параметр; строковое выражение, отображаемое в поле ввода;

XPos, YPos – необязательные параметры; начальное положение окна.

Прежде чем использовать в программе введённое пользователем значение, его нужно проверить. Для определения размера текстовой строки используется функция Len. Проверка типа данных обычно выполняется с помощью функции Val.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: