Лабораторная работа №6

Окна сообщения «MsgBox»

 

Цель работы: Освоить использование окон сообщений «MsgBox». Построить простые диалоги на его основе.

 

Теоретическое введение.

Окно сообщения «MsgBox»

Окно сообщения представляет собой простую экранную форму, которая отображает некоторое сообщение и имеет хотя бы одну командную кнопку. Иногда оно содержит пиктограмму и имеет несколько кнопок, позволяющее пользователю выбрать некоторое действие (см. рис. 5). Окно сообщения можно использовать для отображения информации или получения сведений о принятом пользователем решении.

 

 

Рис. 5. окно сообщения MsgBox

 

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

Отобразить окно сообщения можно, без предварительного описания его в проекте, с помощью оператора или функции «MsgBox». Принципиальная их разница состоит в том, что функция отображает окно и возвращает выбранное пользователем действие (определяет нажатую кнопку), а оператор только отображает его. Синтаксис оператора и функции следующий:

MsgBox Message, [Options], [Title], [HelpFile], [HelpContext]

RetInt = MsgBox(Message, [Options], [Title], [HelpFile],_

                                             [HelpContext])

·        RetInt – переменная целого типа, которой присваивается возвращаемое функцией значение;

·        MsgBox – имя оператора/функции;

·        Message – строковое выражение, которое будет отображаться в окне сообщения;

·        Options – целая константа (или несколько констант), определяющая, какие кнопки и пиктограммы будут отображаться в окне сообщения (необязательный параметр);

·        Title – строковое выражение, которое будет отображаться в строке заголовка окна сообщения (необязательный параметр);

·        HelpFile – строка, указывающая путь к справочному файлу, в котором находится дополнительная информация, относящаяся к данной теме (необязательный параметр);

·        HelpContext – число, ассоциированное с некоторой темой в справочном файле, указанном в параметре «HelpFile» (необязательный параметр).

 

В Visual Basic есть много предопределенных (внутренних) констант, которые можно использовать при программировании окон сообщения, указывая их в параметре «Options». При этом можно указывать несколько таких констант, соединяя их в одно значение знаком «+».

В окно сообщения можно поместить одну из четырех пиктограмм, обычно связанных с характером сообщения (см. табл. 7).

 

Таблица 7

Пиктограммы, используемые в окнах сообщений

и соответствующие им константы

Пиктограмма

Константа

Назначение

vbCritical

Критическое сообщение. Указывает, что произошла серьезная ошибка. Часто после такого сообщения программа прекращает работу.

vbExclamation

Предупреждение. Сообщает о возникновении ошибки, которая требует исправления или может привести к нежелательным последствиям.

vbQuestion

Вопрос. Указывает, что для продолжения работы программе требуется дополнительная информация от пользователя.

vbInformation

Информационное сообщение. Информирует пользователя о состоянии программы. Чаще всего используется для сообщения о завершении выполнения некоторой задачи.

 

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

В функции «MsgBox» имеется шесть наборов кнопок, каждому из них соответствует своя уникальная константа (см. табл. 8).

 

Таблица 8

Возможные наборы кнопок функции «MsgBox»

и соответствующие им константы

Набор кнопок

Значение

Константа

Ok

0

vbOkOnly

Ok, Отмена

1

vbOkCancel

Прервать, Повтор, Пропустить

2

vbAbortRetryIgnore

Да, Нет, Отмена

3

vbYesNoCancel

Да, Нет

4

vbYesNo

Повтор, Отмена

5

vbRetryCancel

 

Если в окне сообщения используется несколько кнопок, нужно указать, какая из них должна применяться по умолчанию. Кнопка, используемая по умолчанию, получает фокус при отображении окна и срабатывает, если нажать <Enter>. Чтобы указать такую кнопку нужно в аргументе «Options» добавить еще одну константу (см. табл. 9).

 

Таблица 9

Указание кнопки, используемой по умолчанию

Кнопка по умолчанию

Значение

Константа

Первая

0

vbDefaultButton1

Вторая

256

vbDefaultButton2

Третья

512

vbDefaultButton3

Четвертая

768

vbDefaultButton4

 

Пользователь может выбрать одну из семи кнопок (в зависимости от их набора). При выборе каждой из них функция возвращает соответствующее ей значение (см. табл. 10).

Таблица 10

Значения, возвращаемое функцией «MsgBox»

Кнопка

Значение

Константа

Ok

1

vbOk

Отмена

2

vbCancel

Прервать

3

vbAbort

Повтор

4

vbRetry

Пропустить

5

vbIgnore

Да

6

vbYes

Нет

7

vbNo

 

Узнать о том, какая кнопка была нажата, можно сравнив значение целочисленной переменной, в которую было возвращено функцией значение (RetInt), с соответствующей константой.

 

Примечание

Из всех параметров оператора и функции обязательным является текст сообщения (Message). При указании только его одного окно сообщения будет содержать это сообщение и только одну кнопку «Ok» при пустом заголовке.

 

Никаких особых настроек окно не имеет. Для ввода числовых данных необходимо полученное значение перевести в нужных тип соответствующими функциями (см. выше).

 

Задание. Составить программу с использованием стандартных диалогов «MsgBox». Сформировать на форме две кнопки для двух отдельных диалогов (см. вариант). При нажатии на кнопку появляется соответствующее окно. При выборе варианта ответа в новом окне сообщения должна быть информация о нем.

 

Пояснения:

Суть задачи сводится к последовательном применении окна сообщения «MsgBox». В первый раз окно должно содержать несколько кнопок, а во второй – в окне содержится информация о выбранной кнопке и только одна кнопка, например:

 

Рис. 7. Пример следования экранных форм

 

Текст сообщения в окнах студентам разрешается сформировать самостоятельно. Заголовок первого окна должен содержать информацию об используемом диалоге. Пиктограмма формируется в соответствии с заданием (см. табл. 11).

 

Таблица 11

Варианты заданий для работы №5

Задание (диалоги)

Задание (диалоги)

1

«Да-Нет-Отмена»

«Повтор-Отмена»

6

«Прервать, Повтор, Пропустить»

«Да, Нет, Отмена»

2

«Прервать, Повтор, Пропустить»

«Да, Нет»

7

«Ok, Отмена»

«Да, Нет»

3

«Да, Нет, Отмена»

«Ok, Отмена»

8

«Ok, Отмена»

«Повтор, Отмена»

4

«Прервать, Повтор, Пропустить»

«Ok, Отмена»

9

Прервать, Повтор, Пропустить

«Повтор, Отмена»

5

«Да, Нет, Отмена»

«Да, Нет»

10

«Да, Нет»

«Повтор, Отмена»

 

 

Ход работы.

1.      Сформировать форму по аналогии с примером на рис. 8. Надписи на кнопках должны соответствовать заданию.

 

Рис.8. Пример формы к заданию №5.

 

1.      В процедурах обработки событий щелчков по этим кнопкам написать необходимый программный код, генерирующий соответствующие диалоги (см. пояснение).

2.      Понаблюдайте за работой программы.

Написать что происходит в программе!!!

 

Отчет должен содержать внешний вид всех окон и их последовательность появления на экране (см. рис. 7).