8.5 MessageBox()函数
到目前为止,在这本书上,我们已使用内建Alert()函数来显示错误信息。若你想自制警告对话框,或应用户要求输入数据该怎么做呢?MeaaageBox()函数允许你使用Windows API函数创造一个自制“跳出”对话框。
要使用MessageBox()函数,我们首先需#include和MetaTrader一起安装的WinUser 32.mqh档案。这个档案从Windows user 32.dll档案汇入函数,并定义MessageBox()函数工作所需的常数。以下是MessageBox()函数的语法:

要使用MessageBox()函数,我们需设定在跳出窗口对话框出现Text,在标题带出现Title。我们也必须明确定义Flags,以推论那些按钮和图标应出现于我们的跳出窗口。若无旗标被明确定义,则默认按钮为OK。旗标需使用直标(I)字符分开。
下面是一个有Yes/No按钮和问号图示的信息框范例:


旗标MB_YESNO明确定义了Yes/No按钮将出现在讯息框内,而MB_ICONQU ESTION旗标则在对话框中放置了问号图示。整数变量YesNoBox保有MessageBox()函数的回传值,可以知道哪个按钮被按下。
若Yes按钮被按下,YesNoBox的值将是IDYES,一个订单将被开启。若No按钮被按下,回传旗标将是IDNO,你可使用MessageBox()的回传值作为输入,以决定一系列活动,诸如开启一张订单。
接着要谈的是在信息框中所使用的部分旗标名目。要见完整内容,请见MQL参照标题Standard Constants-MessageBox。