Функция MessageBox

Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" (ByVal hWnd As Long, _
    ByVal lpText As String, ByVal lpCaption As String, _
    ByVal uType As Long) As Long

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

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

В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает один из следующих флажков, определяющих нажатую кнопку

IDABORT=3
Нажата кнопка Стоп
IDCANCEL=2
Нажата кнопка Отмена (или пользователь закрыл окно клавишей Esc)
IDCONTINUE=11
Windows 2000:Нажата кнопка Continue
IDIGNORE=5
Нажата кнопка Пропустить
IDNO=7
Нажата кнопка Нет
IDOK=1
Нажата кнопка OK
IDRETRY=4
Нажата кнопка Повтор
IDTRYAGAIN=10
Windows 2000:Нажата кнопка Try Again
IDYES=6
Нажата кнопка Да

Параметры

hWnd
Дескриптор родительского окна для создаваемого окна сообщения. Если данный параметр NULL, окно создается без родителя
lpText
Текст, выводимый в окне сообщения
lpCaption
Текст, выводимый в заголовке
uType
Представляет собой набор битовых флагов, определяющих содержимое и внешний вид окна сообщения. Данный параметр может быть комбинацией флагов из следующих групп флагов:
MB_ABORTRETRYIGNORE= &H2
Окно сообщения содержит три кнопки: Стоп, Повтор и Пропустить
MB_CANCELTRYCONTINUE=&H6
Windows 2000:Окно сообщения содержит три кнопки: Cancel, Try Again и Continue
MB_HELP=&H4000
Добавляется кнопка Справка, при нажатии которой посылается сообщение WM_HELP родительскому окну (определяется параметром hWnd). Данный флаг может использоваться только вместе с другими флагами и не может использоваться отдельно
MB_OK=&H0
Окно сообщения содержит только одну кнопку: OK. Данный флаг используется по умолчанию
MB_OKCANCEL=&H1
Окно сообщения содержит две кнопки: OK и Отмена
MB_RETRYCANCEL=&H5
Окно сообщения содержит две кнопки: Повтор и Отмена
MB_YESNO=&H4
Окно сообщения содержит две кнопки: Да и Нет
MB_YESNOCANCEL=&H3
Окно сообщения содержит три кнопки: Да, Нет и Отмена

Используйте один из следующих флагов для выбора иконки, которая появятся в окне сообщения:
MB_ICONASTERISK=MB_ICONINFORMATION=&H40
В окне сообщения появится иконка, со строчной буквой i, в центре синего круга
MB_ICONERROR=MB_ICONHAND=MB_ICONSTOP==&H10
В окне сообщения появится иконка с изображением знака STOP
MB_ICONEXCLAMATION=MB_ICONWARNING=&H30
В окне сообщения появится иконка с изображением восклицательного знака
MB_ICONQUESTION=&H20
В окне сообщения появится иконка с изображением вопросительного знака

Используйте один из следующих флагов для выбора кнопки по умолчанию,активной кнопки в окне сообщения:
MB_DEFBUTTON1=&H0
Активной в окне будет первая кнопка. Это значение используется по умолчанию
MB_DEFBUTTON2=&H100
Активной в окне будет вторая кнопка
MB_DEFBUTTON3=&H200
Активной в окне будет третья кнопка
MB_DEFBUTTON4=&H300
Активной в окне будет четвертая кнопка

Используйте один из следующих флагов для указания модальности окна сообщения:
MB_APPLMODAL=&H0
Пользователь должен закрыть окно сообщения до того как продолжит работу в окне, идентификатор которого указан в hWnd. При этом пользователь может работать с другими приложениями. В зависимости от иерархии окон в приложении, пользователь может также работать с некоторыми другими окнами этого же приложения. Все дочернии окна родительского окна автоматически становятся недоступными, но кроме всплывающих (popup) окон. Флаг MB_APPLMODAL используется по умолчанию, если не указан один из MB_SYSTEMMODAL и MB_TASKMODAL
MB_SYSTEMMODAL=&H1000
Тоже, что и MB_APPLMODAL за исключением того, что используется стиль WS_EX_TOPMOST. Используйте системно-модальное окно сообщений для оповещения пользователя о серьезных, потенциально опасных ошибках, требующих немедленной реакции со стороны пользователя (например, о недостаточном количестве свободной памяти). Данный флаг не сказывается на возможности пользователя взаимодействовать со всеми окнами, кроме тех, которые связаны с родителем (hWnd)
MB_TASKMODAL=&H2000
Тоже, что и MB_APPLMODAL за исключением того, что все окна верхнего уровня связанные с текущей задачей становятся неактивными при условии, что параметр hWnd равен NULL. Используйте данный флаг в случае, когда приложение, либо библиотека не имеет идентификатора окна, но требуется ограничить работу с другими окнами текущего приложения, не нарушая при этом работоспособность других приложений

В дополнение к вышеописанным, Вы можете использовать следующие флаги:
MB_DEFAULT_DESKTOP_ONLY=&H20000
Windows NT/2000: То же,что и MB_SERVICE_NOTIFICATION, за исключением того, что система показывает окно сообщения только на Рабочем столе, используемом по умолчанию, в противном случае функция завершится с ошибкой. Используемым по умолчанию является рабочий стол загружаемый после входа пользователя в систему
MB_RIGHT=&H80000
Текст в окне сообщения выравнивается по правому краю
MB_RTLREADING=&H100000
Текст и заголовок окна сообщения выводятся не слева направо, как обычно, а справо налево в арабской и еврейской системах
MB_SETFOREGROUND=&H10000
Окно сообщения выводится на передний план
MB_TOPMOST=&H40000
Окно сообщения создается с использованием стиля WS_EX_TOPMOST
MB_SERVICE_NOTIFICATION=&H200000
только Windows NT 4.0 и выше, 2000: вызывающая программа является сервисом, сообщающим пользователю о некотором событии. Функция отображает окно сообщения на текущем активном рабочем столе даже в случае, если пользователь не осуществил вход в систему. При установке данного флага необходимо в качестве hWnd использовать значение NULL, чтобы окно сообщения могло появится на рабочих столах, не связанных с конкретным hWnd
MB_SERVICE_NOTIFICATION_NT3X=&H40000
Windows NT 3.1- 3.51:данное значение соответствует MB_SERVICE_NOTIFICATION, но для Windows NT 3.51

Пример

Смотри также пример apiform.zip

' Выводим окно сообщения
MessageBox Me.hwnd, "Получилось?","Русский_Проект",MB_OK

Смотри также

MessageBoxEx, MessageBoxIndirect

Категория

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