Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Функция 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 - ответить да или нет на вопрос, содержащийся в сообщении.
|