MessageBoxEx

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

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

Параметры

hWnd
Идентифицирует окно-владелец окна сообщения необходимо создать. Если этот параметр имеет значение NULL, окно сообщения имеет не окно-владелец.
lpCaption
Указатель на ограниченную значением null строку, содержащую сообщение для отображения.
lpszTitle
Указатель на ограниченную значением 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.
wLanguageId
Указывает язык для отображения текста, содержащегося в стандартных кнопок. Это значение должно быть в форме, возвращенный MAKELANGID макрос.

Список идентификаторов языка, поддерживаемых Win32, Идентификаторы языка. Обратите внимание, что каждый локализованные версии Windows и Windows NT обычно содержит ресурсы только для ограниченного набора языков. Таким образом например, версии США предлагает LANG_ENGLISH, французская версия предлагает LANG_FRENCH, немецкая версия предлагает LANG_GERMAN и японская версия предлагает LANG_JAPANESE. Каждая версия предлагает LANG_NEUTRAL. Это ограничивает набор значений, которые можно использовать с параметром wLanguageId . Перед тем как указать идентификатор языка, следует перечислить языковых стандартов, установленных в системе.

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

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

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

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

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

Примечания

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

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

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

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

QuickInfo

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

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

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

Index