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

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

Вид модальности Значение параметра Идентификатор константы
В рамках приложения 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.


opredelenie-obemov-platezhej-po-lizingovoj-sdelke.html
opredelenie-obemov-stroitelno-montazhnih-rabot.html
opredelenie-obmotochnih-dannih.html