Functions.MessageBox 方法 | |
显示一个用户定义的对话框。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION MessageBox(
eMessageText AS USUAL,
nDialogBoxType AS LONG,
cTitleBarText AS STRING,
nTimeOut AS LONG
) AS LONG
public static int MessageBox(
__Usual eMessageText,
[DefaultParameterValueAttribute(0, 0)] int nDialogBoxType,
[DefaultParameterValueAttribute("", 0)] string cTitleBarText,
[DefaultParameterValueAttribute(0, 0)] int nTimeOut
)
查看代码参数
- eMessageText
- 类型:__Usual
指定出现在对话框中的文本。
您也可以指定任何其他值代替 eMessageText。运行时会在显示之前将该值转换为字符串。
- nDialogBoxType
- 类型:Int32
指定对话框中出现的按钮和图标、对话框显示时的默认按钮以及对话框的行为。
有关更多信息,请参见备注。
- cTitleBarText
- 类型:String
指定出现在对话框标题栏中的文本。
如果省略 cTitleBarText,则程序名称会出现在标题栏中。
- nTimeOut
- 类型:Int32
指定在没有键盘或鼠标输入的情况下,X# 显示 eMessageText 的毫秒数,然后清除 eMessageText。
您可以指定任何有效的超时值。小于 1 的值在用户输入之前永不超时,并且行为与省略 nTimeout 参数相同。
返回值
类型:
Int32
数值型。
MessageBox( ) 返回一个值,该值指示在对话框中选择了哪个按钮。
下面的表格列出了
MessageBox( ) 为每个按钮返回的值。
值 | 定义的常量 | 描述 |
---|
1 | IDOK | 确定 |
2 | IDCANCEL | 取消 |
3 | IDABORT | 中止 |
4 | IDRETRY | 重试 |
5 | IDIGNORE | 忽略 |
6 | IDYES | 是 |
7 | IDNO | 否 |
在带有取消按钮的对话框中,按 Esc 退出对话框返回的值与选择取消相同(2)。 当发生超时时,
MessageBox( ) 返回值为 -1。
备注
在下表中,对话框按钮值 0 到 5 指定对话框中出现的按钮。
图标值 16、32、48 和 64 指定对话框中出现的图标。
默认值 0、256 和 512 指定对话框中的默认按钮。 用以指定显示对话框时所选择的默认按钮。
省略 nDialogBoxType 等同于为 nDialogBoxType 指定值 0。
值 | 定义的常量 | 描述 |
---|
0 | MB_OK | 仅确定按钮 |
1 | MB_OKCANCEL | 确定和取消按钮 |
2 | MB_ABORTRETRYIGNORE | 中止、重试和忽略按钮 |
3 | MB_YESNOCANCEL | 是、否和取消按钮 |
4 | MB_YESNO | 是和否按钮 |
5 | MB_RETRYCANCEL | 重试和取消按钮 |
16 | MB_ICONSTOP | 停止标志 |
32 | MB_ICONQUESTION | 问号 |
48 | MB_ICONEXCLAMATION | 感叹号 |
64 | MB_ICONINFORMATION | 信息 (i) 图标 |
0 | MB_DEFBUTTON1 | 第一个按钮 |
256 | MB_DEFBUTTON2 | 第二个按钮 |
512 | MB_DEFBUTTON3 | 第三个按钮 |
nDialogBoxType 可以是前面表格中每个表格的最多三个值的总和。
例如,如果 nDialogBoxType 为 290(2+32+256),则指定的对话框具有以下特征:
- 中止、重试和忽略按钮。
- 消息框显示问号图标。
- 第二个按钮,重试,是默认按钮。
使用定义的常量如 MB_ABORTRETRYIGNORE + MB_ICONQUESTION + MB_DEFBUTTON2 比 2 + 32 + 256 更具可读性。
问号图标不再推荐使用,因为它不能清楚地表示特定类型的消息,并且将消息措辞为问题可能适用于任何消息类型。此外,用户可能会将消息符号问号与帮助信息混淆。因此,不建议在消息框中使用问号符号。
系统继续支持包含仅用于向后兼容。
MessageBox( ) 函数根据传递的参数类型有几种重载。
第一个参数是必需的,并且始终是 eMessageText。 但是,可选的第二个参数可以是 nDialogBoxType(如果类型为
Numeric)或
cTitleBarText(如果类型为
Character)。
nTimeout 参数始终假定为传递的第二个可选数字参数。
有效示例包括:
1MessageBox("HELLO","MyTitle",68,6000)
2MessageBox("HELLO",68,"MyTitle",6000)
3MessageBox("HELLO",68,6000)
4MessageBox("HELLO",68,6000,"MyTitle")
示例 1eMessageTitle = '我的应用程序'
2eMessageText = '未找到记录。您想再次搜索吗?'
3nDialogType = 4 + 16 + 256
4
5* 4 = 是和否按钮
6* 16 = 停止标志图标
7* 256 = 第二个按钮是默认按钮
8nAnswer = MessageBox(eMessageText, nDialogType, eMessageTitle)
9
10DO CASE
11 CASE nAnswer = 6
12 WAIT WINDOW '您选择了是'
13 CASE nAnswer = 7
14 WAIT WINDOW '您选择了否'
15ENDCASE
参见