Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Функция MsgBox






В 2.10 я вкратце описал, как пользоваться оператором MsgBox. Здесь я более подробно разберу действие функции MsgBox. Функция отличается от оператора тем, что она встречается в выражениях и в правой части оператора присваивания, и еще тем, что подобно переменной имеет значение. Например, возьмем оператор присваивания:

y = MsgBox(" Привет! ")

При выполнении этого оператора мы увидим на экране точно такое же окно сообщения, как при выполнении оператора

MsgBox(" Привет! ")

Но вдобавок к этому, после того, как мы нажмем на кнопку ОК, переменной y будет присвоено некое значение. Что это за значение и зачем оно нужно, мы сейчас выясним.

 

Задача: В текстовом поле Visual Basic для нашей пользы печатает, сколько будет дважды два. После чего, заботясь о нашем зрении, он выводит следующее окно сообщения:

 

 

При нажатии на Yes шрифт увеличивается, при нажатии на No ничего не происходит.

Вот программа:

Private Sub Command1_Click()

Text1.Text = 2 * 2

y = MsgBox (" Не мелковат ли шрифт? ", vbQuestion + vbYesNo, " Забота о пользователе")

If y = vbYes Then Text1.FontSize = 20

End Sub

Пояснения: Здесь полужирным шрифтом я выделил новые для вас элементы. Константа vbQuestion означает приказ изменить внешний вид окна сообщения, конкретнее - изобразить в нем картинку со знаком вопроса. Константа vbYesNo означает приказ поместить в окне сообщения кнопки Yes и No. Знаком плюс эти константы соединены, так как имеют некие численные значения, о которых вам, впрочем, не обязательно задумываться. После нажатия на кнопку Yes функция MsgBox приобретает значение vbYes. После нажатия на кнопку No функция MsgBox приобретает значение vbNo. Поэтому фрагмент

If y = vbYes …

можно перевести так: " Если была нажата кнопка Yes …"

 

Вот константы для задания внешнего вида окна сообщения: VbCritical, vbQuestion, vbExclamation, vbInformation.

Вот константы для задания кнопок в окне сообщения: VbOKOnly, vbOKCancel, vbAbortRetryIgnore, vbYesNoCancel, vbYesNo, vbRetryCancel.

Вот константы для задания значения функции MsgBox после нажатия на кнопку: vbOK, vbCancel, vbAbort, vbRetry, vbIgnore, vbYes, vbNo.

Поэкспериментируйте со внешним видом окна сообщения. Поведение окна сообщения определяется еще кое-какими константами, но мы на них не будем останавливаться.

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

OK - просто принять сообщение к сведению, Cancel - отменить намечавшееся действие, Abort - прекратить неудавшуюся попытку (например, когда ваша процедура занимается распечаткой документа на принтере и приходит сообщение " Принтер не готов"), Retry - повторить неудавшуюся попытку, Ignore - проигнорировать предупреждение и продолжать, как ни в чем не бывало, Yes-No - ответить да или нет на вопрос, содержащийся в сообщении.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал