Русский

Учебник по MQL4  Приложения  Коды возврата функции MessageBox()

Коды возврата функции MessageBox()


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

Константа Значение Описание
IDOK
1
Выбрана кнопка OK
IDCANCEL
2
Выбрана кнопка Отмена(Cancel)
IDABORT
3
Выбрана кнопка Прервать (Abort)
IDRETRY
4
Выбрана кнопка Повтор (Retry)
IDIGNORE
5
Выбрана кнопка Пропустить (Ignore)
IDYES
6
Выбрана кнопка Да (Yes)
IDNO
7
Выбрана кнопка Нет (No)
IDTRYAGAIN
10
Выбрана кнопка Повторить (Try Again)
IDCONTINUE
11
Выбрана кнопка Продолжить (Continue)

Эти коды возврата определены в файле WinUser32.mqh, поэтому необходимо включать этот заголовочный файл в программы через #include <WinUser32.mqh>.


Основные флаги функции MessageBox() определяют содержание и поведение диалогового окна. Это значение может быть комбинацией флагов из следующих групп флагов:

Константа Значение Описание
MB_OK 0x00000000 Окно сообщения содержит одну кнопку: OK. По умолчанию
MB_OKCANCEL 0x00000001 Окно сообщения содержит две кнопки: OK и Cancel
MB_ABORTRETRYIGNORE 0x00000002 Окно сообщения содержит три кнопки: Abort, Retry и Ignore
MB_YESNOCANCEL 0x00000003 Окно сообщения содержит три кнопки: Yes, No и Cancel
MB_YESNO 0x00000004 Окно сообщения содержит две кнопки: Yes и No
MB_RETRYCANCEL 0x00000005 Окно сообщения содержит две кнопки: Retry и Cancel
MB_CANCELTRYCONTINUE 0x00000006 Окно сообщения содержит три кнопки: Cancel, Try Again, Continue

Для отображения иконки в окне сообщения необходимо определить дополнительные флаги:

Константа Значение Описание
MB_ICONSTOP
MB_ICONERROR
MB_ICONHAND
0x00000010 Изображение знака STOP
MB_ICONQUESTION 0x00000020 Изображение вопросительного знака
MB_ICONEXCLAMATION
MB_ICONWARNING
0x00000030 Изображение восклицательного знака
MB_ICONINFORMATION
MB_ICONASTERISK
0x00000040 Изображение, состоящее из строчного знака i в круге

Кнопки по умолчанию задаются следующими флагами:

Константа Значение Описание
MB_DEFBUTTON1 0x00000000 Первая кнопка MB_DEFBUTTON1 - кнопка выбрана по умолчанию, если MB_DEFBUTTON2, MB_DEFBUTTON3, или MB_DEFBUTTON4 не определены
MB_DEFBUTTON2 0x00000100 Вторая кнопка - кнопка по умолчанию
MB_DEFBUTTON3 0x00000200 Третья кнопка - кнопка по умолчанию
MB_DEFBUTTON4 0x00000300 Четвертая кнопка - кнопка по умолчанию

Флаги поведения функции MessageBox() определены в файле WinUser32.mqh, поэтому необходимо включать этот заголовочный файл в программы через #include <WinUser32.mqh>. Здесь перечислены не все возможные флаги. Более подробную информацию можно получить в описании Win32 API.