MQL4 MessageBox()

 
Здравствуйте. Пожалуйста подскажите как в функцию MessageBox() передать названия своих кнопок и как их обработать, в документации  про это не написано.
Файлы:
 
Igor Kryuchkov:
Здравствуйте. Пожалуйста подскажите как в функцию MessageBox() передать названия своих кнопок и как их обработать, в документации  про это не написано.

Основные флаги функции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


MessageBox

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

int  MessageBox(
   string  text,             // текст сообщения
   string  caption=NULL,     // заголовок окна
   int     flags=0           // определяет набор кнопок в окне
   );


Итого, можно добавить только те, что предоставлены в выборе

 
Igor Kryuchkov:
Здравствуйте. Пожалуйста подскажите как в функцию 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)

 

Основные флаги функции 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

Четвертая кнопка - кнопка по умолчанию



Сделайте собственное окошко с любыми кнопками какие душе угодно.

 

Спасибо. Мне просто нужно было узнать , можно или нет.

 
Igor Kryuchkov:

Спасибо. Мне просто нужно было узнать , можно или нет.

В редакторе вводите MessageBox(), ставите на нём курсор и жмёте F1 - быстрее, чем на форуме ждать ответов.

А если посмотрите на своё первое сообщение в этой теме, то увидите, что редактор форума автоматически вставил ссылку на онлайн-справку по данной функции (да и в это тоже вставил) - можно было и по ссылке перейти, да почитать.

 
Artyom Trishkin:

В редакторе вводите MessageBox(), ставите на нём курсор и жмёте F1 - быстрее, чем на форуме ждать ответов.

А если посмотрите на своё первое сообщение в этой теме, то увидите, что редактор форума автоматически вставил ссылку на онлайн-справку по данной функции (да и в это тоже вставил) - можно было и по ссылке перейти, да почитать.


Перешел да почтил ще до вас, хотел убедится... Еще вопрос можно ли библиотеку с расширением *.mqh всунуть в сам код, а именно подогнать ее к коду эксперта или же нет?

 
Igor Kryuchkov:

Перешел да почтил ще до вас, хотел убедится... Еще вопрос можно ли библиотеку с расширением *.mqh всунуть в сам код, а именно подогнать ее к коду эксперта или же нет?

Можно, вырежьте весь код, и поместите его в программу mql

 
Vitaly Muzichenko:

Можно, вырежьте весь код, и поместите его в программу mql


Хм. И каким же образом это будет работать?

 
Igor Kryuchkov:

Хм. И каким же образом это будет работать?

Точно таким, как и через инклуд mqh