procedure TForm1.Button1Click(Sender: TObject);
var
S:string;
begin
if MessageDlg('提示框',mtInformation,[mbok,mbyes],0)=mryes then
messagebeep(MB_ICONEXCLAMATION);
end;
TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);
TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore,
mbAll, mbNoToAll, mbYesToAll, mbHelp);
const
mrNone = 0;
mrOk = idOk;
mrCancel = idCancel;
mrAbort = idAbort;
mrRetry = idRetry;
mrIgnore = idIgnore;
mrYes = idYes;
mrNo = idNo;
mrAll = mrNo + 1;
mrNoToAll = mrAll + 1;
mrYesToAll = mrNoToAll + 1;
提示信息框(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也可以点。
int Result = MessageDlg("是否保存?",mtConfirmation, mbYesNoCancel, 0);
switch (Result)
{
case mrYes: //点了[Yes]
break;
case mrNo: //点了[No]
break;
case mrCancel: //点了[Cancel]
break;
}
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/archive/2013/01/15/2862016.html