Win32 API. Справочник по диалоговому окну

ОГЛАВЛЕНИЕ

Функция MessageBoxIndirect

(КосвенноеОкноСообщений)

[Теперь поддерживается в Windows NT]

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

Синтаксис

int MessageBoxIndirect
(
LPMSGBOXPARAMS lpMsgBoxParams // адрес структуры для параметров
// окна сообщений

);

Параметры
lpMsgBoxParams
Указатель на структуру MSGBOXPARAMS, которая содержит информацию, используемую для показа на экране окна сообщений.

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

  • IDABORT - Была выбрана аварийная кнопка (Abort).
  • IDCANCEL - Была выбрана кнопка Прервать (Cancel).
  • IDIGNORE - Была выбрана кнопка Игнорировать (Ignore).
  • IDNO - Была выбрана кнопка Нет (No).
  • IDOK - Была выбрана кнопка Согласен (OK).
  • IDRETRY - Была выбрана кнопка Повторить (Retry).
  • IDYES - Была выбрана кнопка Да (Yes).

Если окно сообщений имеет кнопку Отменить (Cancel), функция возвращает значение IDCANCEL, если или нажата клавиша ESC, или кнопка выбрана Cancel. Если окно сообщений не имеет кнопки Cancel, нажатие на ESC не оказывает никакого влияния.

Замечания
Когда Вы используете системно - модальное окно сообщений, чтобы указать, что у системы мало памяти, строки, указанные элементами lpszText и lpszCaption структуры MSGBOXPARAMS не должны быть приняты из файла ресурса, потому что попытка загрузить ресурс может потерпеть неудачу.
Когда прикладная программа вызывает MessageBoxIndirect и устанавливает флажки MB_ICONHAND и MB_SYSTEMMODAL в элементе dwStyle структуры MSGBOXPARAMS, Windows показывает на экране законченное окно сообщений независимо от доступной памяти. Когда эти флажки установлены, Windows ограничивает длину текста в окне сообщений до трех строк. Windows автоматически не разрывает строки, чтобы подстроить их под окно сообщений, такая строка сообщения должна содержать символы перевода каретки, чтобы разрывать строки в соответствующих местах.
Если Вы создаете окно сообщений, в то время, когда присутствует диалоговое окно, используйте дескриптор блока диалога как параметр hWnd. Параметр hWnd не должен идентифицировать дочернее окно, типа органа управления в диалоговом окне.
Windows 95: Система может поддерживать максимум 16,364 дескрипторов окна.

Смотри также
MessageBox, MessageBoxEx, MSGBOXPARAMS

Размещение и совместимость MessageBoxIndirect

Windows NT				Да 
Win95 Да
Win32s Нет
Импортируемая библиотека user32.lib
Заголовочный файл winuser.h
Unicode WinNT
Замечания по платформе Не имеется