ЛЕКЦИЯ 9
ОКНО СООБЩЕНИЙ________________________________________________________ 1
Синтаксис функции CWnd::MessageBox________________________________________ 1
Отображение пиктограммы__________________________________________________ 1
Отображение кнопок________________________________________________________ 2
Помещение кнопки в фокус__________________________________________________ 2
Определение модальности окна сообщения____________________________________ 2
Коды кнопок, возвращаемые функцией MessageBox_____________________________ 2
Размещение сообщения в нескольких строках__________________________________ 3
Пример использования функции MessageBox___________________________________ 3
Синтаксис функции AfxMessageBox___________________________________________ 3
Использование строковой таблицы____________________________________________ 4
Архитекторы прячут свои ошибки под плющом, врачи – под землёй, хозяйки – под майонезом, а программисты – за окнами сообщений.
Бернард Шоу
Окно сообщений (Message Box) – простейший вид формы с одной или несколькими стандартными кнопками, предназначенной для отображения сообщений. Окно сообщений целесообразно использовать в том случае, если программе необходимо запросить у пользователя информацию в форме ответа типа “Да” или “Нет”.
Окно сообщений требует реакции пользователя на отображённое сообщение. Пока на экране находится окно сообщений, программа находится в состоянии ожидания. В окне сообщений можно отобразить заголовок окна, текст сообщения, одну из четырёх предопределённых пиктограмм и один из шести наборов кнопок.
Для работы с окном сообщений в классе 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 пользователю предлагается выбрать один из двух возможных
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.