Delphi BCB提示信息框,MessageBox的应用

提示信息框(MessageBox)的应用

作者:

 应用程序中的提示信息处理程序是非常出重要的部分,用户要知道他输入的资料到底正不正确

,或者是应用程序有一些提示信息要告诉用户,都必须通过提示信息处理程序来显示适当的信息,

让用户了解下一步该如何配置。提示信息有很多种类,包括警告,错误,提示,确认,重试等。不

同种类的提示信息框适合用在各种不同的情况。

  在C++Builder中开发提示信息框只须调用MessageBox这个信息提示框函数就行,下面就是这个

函数说明:

int __fastcall MessageBox(const char * Text,//提示信息框的内容

const char * Caption, //提示信息框的标题

int Flags); //提示信息框的类别

  参数Flags的值是用来标志提示信息框的类别的,下面是一些常用的类别:

参数值 样式 意义

MB_ICONWARNING 含图标、固定按钮 警告信息框

MB_ICONQUESTION 含图标、固定按钮 疑问信息框

MB_IConERROR 含图标、固定按钮 错误信息框

MB_ICONASTERISK 含图标、固定按钮 提示信息框

MB_HELP 不含图标、可改变按钮 说明信息框

MB_OK 不含图标、可改变按钮 提示信息框

MB_OKCANCEL 不含图标、可改变按钮 确认信息框

MB_RETRYCANCEL 不含图标、可改变按钮 重试信息框

MB_YESNO 不含图标、可改变按钮 是否信息框

MB_YESNOCANCEL 不含图标、可改变按钮 是否取消信息框

  从上表可以看出来,提示信息框的类别可以分成含图标和不含图标,含图标的意思就是指提示

信息框上会有代表意义的图形,不过这类型的提示信息框的按钮都是固定的,都是【确定】按钮,

不能增加也不能省略;不含图标的提示信息框,虽然没有对应的图形显示在提示信息框上,可是你

却可以在这种类型的提示信息框内,加入各种组合的按钮,用于各种不同的情况。

MessageBox函数会返回一个整数值,这个整数值代表用户刚刚点击提示信息框上的哪个按钮,每个

返回值的代表意义在下表:

返回值 数值 意义

IDOK 1 确定

IDCANCEL 2 取消

IDABORT 3 中断

IDRETRY 4 重试

IDIGNORE 5 忽略

IDYES 6 是

IDNO 7 否

下面是提示信息框的示范程序:

1. 警告信息框

Application->MessageBox(\\\"警告信息框\\\",\\\"警告信息框\\\",MB_ICONWARNING);

2.疑问信息框

Application->MessageBox(\\\"疑问信息框\\\",\\\"疑问信息框\\\",MB_ICONQUESTION);

3.错误提示框

Application->MessageBox(\\\"错误信息框\\\",\\\"错误信息框\\\",MB_IConERROR);

4.提示信息框

Application->MessageBox(\\\"提示信息框\\\",\\\"提示信息框\\\",MB_ICONASTERISK);

5.说明信息框

Application->MessageBox(\\\"说明信息框\\\",\\\"说明信息框\\\",MB_HELP);

6.提示信息框

Application->MessageBox(\\\"提示信息框\\\",\\\"提示信息框\\\",MB_OK);

7.确认信息框

Application->MessageBox(\\\"确认信息框\\\",\\\"确认信息框\\\",MB_OKCANCEL);

8.重试信息框

Application->MessageBox(\\\"重试信息框\\\",\\\"重试信息框\\\",MB_RETRYCANCEL);

9.是否信息框

Application->MessageBox(\\\"是否信息框\\\",\\\"是否信息框\\\",MB_YESNO);

10.是否取消信息框

Application->MessageBox(\\\"是否取消信息框\\\",\\\"是否取消信息框\\\",MB_YESNOCANCEL);

  在C++Builder中,还提供了一个很简单的信息提示框函数,那就是ShowMessage。这个函数只

有一个字符串参数,你可以把要显示的字符串放到这个字符串参数里面,ShowMessage就回显示出

该信息,但是没有图标,也没有按钮,只有单纯的字符串信息而已。

下面是ShowMessage函数的说明:

extern PACKAGE void __fastcall ShowMessage(const AnsiString Msg);

例子:

ShowMessage(\\\"这个就是ShowMessage函数生成的信息提示框!\\\");

Application->MessageBox(\\\"AA\\\", \\\"BB\\\", MB_OK | MB_ICONSTOP);

MessageBox(Application->Handle,\\\"AA\\\", \\\"BB\\\", MB_OK | MB_ICONSTOP);

这种写法“级别”最高:如果弹出这样的对话框,不点掉,Application下所有的Form都

不能“动”的。

MessageBox(Form1->Handle,\\\"AA\\\", \\\"BB\\\", MB_OK | MB_ICONSTOP);

这种写法“级别”其次:如果弹出这样的对话框,不点掉,只有From1不能“动”,其他

Show()的From还可以点。

MessageBox(NULL,\\\"AA\\\", \\\"BB\\\", MB_OK | MB_ICONSTOP);

这种写法“级别”最低:如果弹出这样的对话框,不点掉,From1也能“动”,其他

Show()的From也可以点。