Функция MessageBoxExA (winuser.h)

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

В настоящее время MessageBoxEx и MessageBox работают одинаково.

Синтаксис

int MessageBoxExA(
  [in, optional] HWND   hWnd,
  [in, optional] LPCSTR lpText,
  [in, optional] LPCSTR lpCaption,
  [in]           UINT   uType,
  [in]           WORD   wLanguageId
);

Параметры

[in, optional] hWnd

Тип: HWND

Дескриптор окна владельца создаваемого окна сообщения. Если этот параметр имеет значение NULL, окно сообщения не имеет окна владельца.

[in, optional] lpText

Тип: LPCTSTR

Отображаемое сообщение.

[in, optional] lpCaption

Тип: LPCTSTR

Заголовок диалогового окна. Если этот параметр имеет значение NULL, используется название по умолчанию Error .

[in] uType

Тип: UINT

Содержимое и поведение диалогового окна. Сведения о поддерживаемых флагах см. в разделе MessageBox.

[in] wLanguageId

Тип: WORD

Язык текста, отображаемого в кнопках окна сообщения. Если указать нулевое значение (0), текст кнопки отображается на системном языке по умолчанию. Если этот параметр имеет значение MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), используется текущий язык, связанный с вызывающим потоком.

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

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

Тип: int

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

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

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

Возвращаемый код/значение Описание
IDABORT
3
Была выбрана кнопка Прерывание .
IDCANCEL
2
Была выбрана кнопка Отмена .
IDCONTINUE
11
Была выбрана кнопка Продолжить .
IDIGNORE
5
Была выбрана кнопка Пропустить .
IDNO
7
Кнопка Нет выбрана.
IDOK
1
Была выбрана кнопка ОК .
IDRETRY
4
Была выбрана кнопка Повторить .
IDTRYAGAIN
10
Была выбрана кнопка Повторить попытку.
IDYES
6
Была выбрана кнопка Да .

Комментарии

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

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

Примечание

Заголовок winuser.h определяет MessageBoxEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

Основные понятия

Диалоговые окна

MAKELANGID

MessageBeep

Messagebox

MessageBoxIndirect

Другие ресурсы

Справочные материалы

SetForegroundWindow