MessageBox

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

int MessageBox) HWND  hWnd, / / обработать из окна-владельцаLPCTSTRlpText, / / адрес текста в окне сообщенияLPCTSTRlpCaption, / / адрес заголовка окна сообщенияUINTuType / / стиле окна сообщения);
 

Параметры

hWnd
Идентифицирует окно-владелец окна сообщения необходимо создать. Если этот параметр имеет значение NULL, окно сообщения имеет не окно-владелец.
lpText
Указатель на ограниченную значением null строку, содержащую сообщение для отображения.
lpCaption
Указатель на ограниченную значением null строку, используется для заголовок диалогового окна. Если этот параметр имеет значение NULL, используется заголовок по умолчанию ошибка.
uType
Определяет набор битовых флагов, которые определяют содержание и поведение диалогового окна. Этот параметр может быть комбинацией флагов из следующих групп флагов.

Укажите один из следующих флагов для обозначения кнопок, содержащихся в окне сообщения:
Флаг Значение
MB_ABORTRETRYIGNORE Окно сообщения содержит три кнопки: прервать, повторить и игнорировать.
MB_OK Окно сообщения содержит одну кнопку: ОК. Это значение по умолчанию.
MB_OKCANCEL Окно сообщения содержит две кнопки: OK и отмена.
MB_RETRYCANCEL Окно сообщения содержит две кнопки: повторить и отмена.
MB_YESNO Окно сообщения содержит две кнопки: Да и нет.
MB_YESNOCANCEL Окно сообщения содержит три кнопки: Да, нет и отмена.

Укажите один из следующих флагов для отображения значка в окне сообщения:
Флаг Значение
СТИЛЯ,
MB_ICONWARNING
В окне сообщения отображается значок восклицательным.
MB_ICONINFORMATION, MB_ICONASTERISK
В окне сообщения появляется значок состоящий из строчной буквой я в круге.
MB_ICONQUESTION В окне сообщения появляется значок вопросительного знака.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
В окне сообщения отображается значок в виде стоп знак.

Укажите один из следующих флагов указать кнопку по умолчанию:
Флаг Значение
MB_DEFBUTTON1 Первая кнопка является кнопкой по умолчанию.

MB_DEFBUTTON1 является значением по умолчанию, если не MB_DEFBUTTON2, MB_DEFBUTTON3 или MB_DEFBUTTON4.

MB_DEFBUTTON2 Вторая кнопка является кнопкой по умолчанию.
MB_DEFBUTTON3 Третья кнопка является кнопкой по умолчанию.
MB_DEFBUTTON4 Четвертая кнопка является кнопкой по умолчанию.

Укажите один из следующих флагов для обозначения модальность диалогового окна:
Флаг Значение
MB_APPLMODAL Пользователь должен реагировать окна сообщения перед продолжением работы в окне, заданного параметром hWnd . Однако пользователь может перейти к windows других потоков и работают в этих окнах.

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

MB_APPLMODAL является значением по умолчанию, если не указаны ни MB_SYSTEMMODAL, ни MB_TASKMODAL.

MB_SYSTEMMODAL То же, что MB_APPLMODAL, за исключением того, что окна сообщения в WS_EX_TOPMOST стиле. Используйте окна системы модальных сообщений для уведомления пользователя о серьезных, потенциально опасных ошибок, которые требуют немедленного внимания (например, памяти). Этот флаг не влияет на его способность взаимодействовать с windows за исключением тех, которые связаны с hWnd.
MB_TASKMODAL То же, что MB_APPLMODAL, за исключением того, что всех окон верхнего уровня, принадлежащих текущему потоку будут отключены, если hWnd параметр имеет значение NULL. Используйте этот флаг, когда вызывающий приложение или библиотека не имеет дескриптора окна доступны, но все еще нуждается для предотвращения других окон в вызывающем потоке без приостановки другие потоки.

Кроме того можно указать следующие флаги:

MB_DEFAULT_DESKTOP_ONLY
Рабочий стол, в настоящее время получение входных данных должны быть рабочий стол по умолчанию; в противном случае функция не работает. Рабочий стол по умолчанию, которую приложение работает на после входа пользователя в систему.
MB_HELP
Добавляет кнопку Справка в окне сообщения. Выбор кнопки Справка или клавиши F1 создает событие справки.
MB_RIGHT
Текст выключкой вправо.
MB_RTLREADING
Выводит текст сообщения и заголовок, с помощью порядка чтения справа налево на иврит и арабские системы.
MB_SETFOREGROUND
Окно сообщения попадает на передний план. Внутри страны система вызывает функцию SetForegroundWindow для окна сообщения.
MB_TOPMOST
Окно сообщения будет создан с WS_EX_TOPMOST стиль окна.
MB_SERVICE_NOTIFICATION
Windows NT: Вызывающий объект — это служба уведомления пользователя события. Функция отображает окно сообщения на текущий рабочий стол active desktop, даже если нет никаких пользователя, вошедшего на компьютер.

Если этот флаг установлен, hWnd параметр должен иметь значение NULL. Это так, что окно сообщения могут появиться на рабочем столе за исключением рабочего стола соответствует hWnd.

Для Windows NT версии 4.0 изменилось значение MB_SERVICE_NOTIFICATION. Смотрите WINUSER.H для старых и новых значений. Windows NT 4.0 обеспечивает обратную совместимость для уже существующих служб, сопоставляя старое значение новое значение в осуществлении MessageBox и MessageBoxEx. Это сопоставление выполняется только для исполняемых файлов, которые имеют номер версии, как компоновщик, меньше чем 4.0.

Чтобы создать службу, которая использует MB_SERVICE_NOTIFICATION и может работать на Windows NT 3.x и Windows NT 4.0, у вас есть два варианта.
  1. Во время компоновки укажите номер версии меньше, чем 4.0; или
nbsp;   2. Во время компоновки укажите версию 4.0. Во время выполнения используйте функцию GetVersionEx для проверки версии системы. Тогда когда работает на Windows &NT 3.x, используйте MB_SERVICE_NOTIFICATION_NT3X; и в Windows NT 4.0, используйте MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: Это значение соответствует значению, определенные для MB_SERVICE_NOTIFICATION для Windows NT версии 3.51.

Возвращаемые значения

Возвращаемое значение равно нулю, если не хватает памяти для создания окна сообщения.

Если функция выполнена успешно, возвращаемое значение является одним из следующих пункта меню возвращаемые диалогового окна:

Значение Значение
IDABORT Выбрана кнопка прерывания.
IDCANCEL Была выбрана кнопка Отмена.
IDIGNORE Игнорировать выбрана кнопка.
IDNO Была выбрана кнопка нет.
IDOK Была выбрана кнопка OK.
IDRETRY Выбрана кнопка "Повторить".
IDYES Да была выбрана кнопка.

Если окно сообщения содержит кнопки "Отмена", функция возвращает значение IDCANCEL при нажатии клавиши esc или выбрана кнопка «Отмена». Если окно сообщения не кнопка Отмена, насущных esc не влияет.

Примечания

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

Когда приложение вызывает MessageBox и задает для параметра uType MB_ICONHAND и MB_SYSTEMMODAL флаги, система отображает результирующий окно сообщения независимо от доступной памяти. При указании эти флаги, система ограничивает длину текста окна сообщения в три строки. Система не не автоматически разбить строки в окне сообщения, однако, поэтому строка сообщения должны содержать символы возврата каретки разорвать линий в соответствующих местах.

Если создается окно сообщения, в то время как диалоговое окно сообщения присутствует, используйте дескриптор диалогового окна в качестве параметра hWnd . Параметр hWnd не следует определить дочернего окна, такие как элемент управления в диалоговом окне.

Windows 95:Система может поддерживать до 16,364 оконных дескрипторов.

Windows CE: Windows CE не поддерживает следующие стили для параметра uType

MB_SYSTEMMODAL

MB_TASKMODAL

MB_HELP

MB_RIGHT

MB_RTLREADING

MB_DEFAULT_DESKTOP_ONLY

MB_SERVICE_NOTIFICATION

MB_USERICON.

Следующие возвращать значения не поддерживаются:

IDCLOSE

IDHELP

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Используйте user32.lib.
Юникод:В Unicode и ANSI версий Windows и Windows NT.

Родственные слова

Обзор диалогового окна, диалогового окна функций, FlashWindow MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow

Index