VS中MessageBox的常见用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AfxMessageBox的标题就是字符串资源中的AFX_IDS_APP_TITLE
VC中MessageBox的常见用法
一、关于MessageBox
消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。

1.MessageBox("这是一个最简单的消息框!");
2.MessageBox("这是一个有标题的消息框!","标题");
3.MessageBox("这是一个确定取消的消息框!","标题", MB_OKCANCEL );
4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );
5.MessageBox("这是一个两种属性的消息框!","标题", MB_ICONEXCLAMATION|MB_OKCANCEL );
6.if(MessageBox("一种常用的应用","标题",MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)
return;
附其它常用属性:
系统默认图标,可在消息框上显示
X错误MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?询问MB_ICONQUESTION
!警告MB_ICONEXCLAMATION and MB_ICONWARNING
i信息MB_ICONASTERISK and MB_ICONINFORMATION
按钮的形式
MB_OK 默认
MB_OKCANCEL 确定取消
MB_YESNO 是否
MB_YESNOCANCEL 是否取消
返回值
IDCANCEL 取消被选
IDNO 否被选
IDOK 确定被选
IDYES 是被选
注意!!!:
以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd为某窗口的句柄,或者直接用AfxMessageBox。

MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。

1、函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。

Text:欲显示的信息字符串。

Caption:对话框标题字符串。

Type:对话框类型常量。

该函数的返回值为整数,用于对话框按钮的识别。

2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。

(1)按钮组合常量
MB_OK = $00000000;//一个确定按钮
MB_OKCANCEL = $00000001;//一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002;//一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003;//一个是按钮,一个否按钮,一个取消按钮MB_YESNO = $00000004;//一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005;//一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000;//第一个按钮为缺省按钮
MB_DEFBUTTON2 = $00000100;//第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200;//第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300;//第四个按钮为缺省按钮
(3)图标常量
MB_ICONHAND = $00000010;//“×”号图标
MB_ICONQUESTION = $00000020;//“?”号图标
MB_ICONEXCLAMATION = $00000030;//“!”号图标
MB_ICONASTERISK = $00000040;//“i”图标
MB_USERICON = $00000080;//用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION;//“!”号图标
MB_ICONERROR = MB_ICONHAND;//“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK;//“i”图标
MB_ICONSTOP = MB_ICONHAND;//“×”号图标
(4)运行模式常量
MB_APPLMODAL = $00000000;//应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000;//系统模式,必须结束对话框后,才能做其他操作MB_TASKMODAL = $00002000;//任务模式,在未结束对话框前也能切换到另一应用程序
MB_HELP = $00004000;//Help Button
3、函数返回值
0//对话框建立失败
IDOK = 1//按确定按钮
IDCANCEL = 2//按取消按钮
IDABOUT = 3//按异常终止按钮
IDRETRY = 4//按重试按钮
IDIGNORE = 5//按忽略按钮
IDYES = 6//按是按钮
IDNO = 7//按否按钮
二、在MessageBox中显示变量的值
CString string;
string.format("%d%s",m_age, m_address); //将变量组装到字符串中
MessageBox(string,"消息框标题",消息框类型);
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
【函数】<整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType);
【函数说明】弹出一个消息框。

【语法】
参数:
Text <字符串>,消息框的正文;
Title <字符串>,消息框的标题;
nType <整型>,消息框的类型。

返回值:<整型>,用户在消息框上点击关闭时的选择的按钮。

【说明】
其中nType对应的对话框如下表所示:
0:确定
1:确定,取消
2:终止,重试,忽略
3:是,否,取消
4:是,否
5:重试,取消
6:取消,再试一次,继续(注:Windows NT下不支持)
返回值对应的值如下:
1:确定
2:取消
3:终止
4:重试
5:忽略
6:是
7:否
10:再试一次
应用程序中的提示信息处理程序是非常出重要的部分,用户要知道他输入的资料到底正不正确
,或者是应用程序有一些提示信息要告诉用户,都必须通过提示信息处理程序来显示适当的信息,
让用户了解下一步该如何配置。

提示信息有很多种类,包括警告,错误,提示,确认,重试等。


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

在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也可以点。

相关文档
最新文档