Окно сообщений. Синтаксис функции CWnd::MessageBox. Определение модальности окна сообщения

Страницы работы

Фрагмент текста работы

ЛЕКЦИЯ 9

ОКНО СООБЩЕНИЙ________________________________________________________ 1

Синтаксис функции CWnd::MessageBox________________________________________ 1

Отображение пиктограммы__________________________________________________ 1

Отображение кнопок________________________________________________________ 2

Помещение кнопки в фокус__________________________________________________ 2

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

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

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

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

Синтаксис функции AfxMessageBox___________________________________________ 3

Использование строковой таблицы____________________________________________ 4

ОКНО СООБЩЕНИЙ

Архитекторы прячут свои ошибки под плющом, врачи – под землёй, хозяйки – под майонезом, а программисты – за окнами сообщений.

Бернард Шоу

Окно сообщений (Message Box) – простейший вид формы с одной или несколькими стандартными кнопками, предназначенной для отображения сообщений. Окно сообщений целесообразно использовать в том случае, если программе необходимо запросить у пользователя информацию в форме ответа типа “Да” или “Нет”.

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

Синтаксис функции CWnd::MessageBox

Для работы с окном сообщений в классе CWnd объявлены две перегруженные функции, синтаксис которых имеет вид:

int MessageBox ( LPCTSTR lpszText , LPCTSTR lpszCaption = NULL , UINT nType = MB_OK ) ;

Функция отображает на экране окно сообщений с заданным набором кнопок и возвращает код, соответствующий нажатой кнопке.

Параметры функции:

lpszText

обязательный параметр. Указатель на объект типа CString или строку, заканчивающуюся нуль-терминатором. Строковое выражение, содержащее текст сообщения.

Максимальная длина строки – около 1000 символов;

nIDPrompt

идентификатор сообщения в строковой таблице;

lpszCaption

необязательный параметр. Указатель на объект типа CString или строку, заканчивающуюся нуль-терминатором. Строковое выражение, отображаемое в заголовке окна. Максимальная длина строки – около 60 символов, зависит от размера шрифта используемого в заголовках окон. Если параметр равен NULL, то в заголовке отображается имя приложения;

nType

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

Отображение пиктограммы

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

MB_ICONSTOP индикация серьёзной ошибки в программе, при которой она аварийно завершает работу

MB_ICONQUESTION для продолжения работы программы требуется дополнительная информация

MB_ICONEXCLAMATION индикация ошибки в программе, которая может быть исправлена после вмешательства пользователя

MB_ICONINFORMATION информация для пользователя о состоянии программы. Часто применяется при выполнении поставленной задачи

Отображение кнопок

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

MB_OK используется для отображения информационных сообщений и для остановки работы программы;

      MB_OKCANCEL используется для подтверждения выполнения определённой операции или её отмены;

MB_ABORTRETRYIGNORE используется при возникновении ошибки. Пользователю предлагается прекращение начатой операции, её повтор либо игнорирование ошибки;

MB_YESNOCANCEL пользователь может подтвердить одно из предложенных действий, либо отменить выполнение начатой операции;

MB_RETRYCANCEL используется при работе с некоторым устройством, чтобы дать возможность пользователю повторить операцию после устранения неполадки;

      MB_YESNO          пользователю предлагается выбрать один из двух возможных

Похожие материалы

Информация о работе