Окно сообщений предназначено для вывода на экран только одного сообщения.
Окно сообщения ( message box ) – это простейшее диалоговое окно , для использования которого необходимо вызвать функцию Messagebox . Формат вызова этой функции приведен ниже :
nItem = Messagebox ( hParentWnd, lpszText, lpszCaption, nType );
Первый параметр функции содержит индекс родительского окна. При закрытии окна сообщений фокус ввода будет передан родительскому окну. Если вы вызываете функцию Messagebox из диалогового окна, то первый параметр функции должен быть равен дескриптору диалогового окна. Если вы не указываете дескриптор диалогового окна, то первый параметр должен быть равен NULL.
Второй параметр – lpszText – содержит дальний указатель на строку символов, оканчивающуюся нулем, которая отображается внутри окна сообщений. При необходимости Windows будет разбивать выводимый текст на несколько строк. Вы можете также сами использовать символы перевода строки и возврата каретки.
Третий параметр – lpszCaption – либо дальний указатель на строку, содержащую заголовок окна сообщений, либо NULL. Во втором случае заголовок окна сообщений содержит надпись Error.
Последний параметр функции – nType – содержит набор флагов, объединенных при помощи булевой операции « или ».
Существует несколько групп флагов, которые можно использовать в этом параметре :
Флаги возможных действий
Флаги MB_OK, MB_OKCANCEL, MB_YESNO, MB_YESNOCANCEL, MB_RETRYCANCEL и MB_ABORTRETRYIGNORE определяют , какие кнопки будут отображаться в окне сообщений и, следовательно, какие действия пользователь может предпринять при появлении окна сообщений. Возвращаются значения : IDOC, IDCANCEL, IDYES, IDNO, IDRETRY и IDABORT.
Флаги определения типа кнопок
Задают тип кнопок, которые будут отображены в окне сообщения. Возможные значения – MB_DEFBUTTON1, MB_DEFBUTTON2 И MB_DEFBUTTON3.
Флаги определения стандартных пиктограмм
Определяют, какую стандартную пиктограмму следует отобразить в окне сообщений. Можно использовать один из следующих флагов: MB_ICONASTERISK, MB_ICONEXCLAMATION, MB_ICONHAND и MB_ICONQUESTION.
Класс модальности
Указав одно из двух возможных значений MB_APPLMODAL и MB_SYSTEMMODAL – вы определите, является окно сообщений модальным или системным. По умолчанию установлен флаг MB_APPLMODAL.
Флаг отказа от фокуса ввода
Флаг MB_NOFOCUS используется в том случае, если вы не хотите, чтобы окну сообщения был передан фокус ввода.
Все описанные выше флаги определены в файле windows.h.
Пример использования функции MessageBox:
MessageBox ( hWnd, «Command not implemented», «Edit», MB_ICONASTERISK | MB_OK );