Поделиться через


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

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

В настоящее время 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, используется заголовок по умолчанию ошибки.

[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
Выбрана кнопка abort.
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 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll

См. также

концептуальные

диалоговое окно

MAKELANGID

MessageBeep

MessageBox

MessageBoxIndirect

другие ресурсы

Справочник

SetForegroundWindow