MessageBox

MessageBox

计算机语言函数
MessageBox显示一个模态对话框,其中包含一个系统图标、一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。[1]
    中文名: 外文名: 所属学科: 函数名:MessageBox 作用:弹出模式对话框 所属头文件:Windows.h和afxwin.h 编程语言:C/C++,VB

函数

参数

hWnd:

消息框的拥有窗此参数口。如果为NULL,则消息框没有拥有窗口。

lpText:

消息框的内容。如果使用了Unicode库,则把文本变成:

lpCaption:

消息框的标题。如果使用了Unicode库,则把文本变成:

uType:

指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。

uType参数

按钮:

按钮参数

含义

MB_OK

默认值。有一个确认按钮在里面。

MB_YESNO

有是和否在里面。

MB_ABORTRETRYIGNORE

有Abort(放弃),Retry(重试)和Ignore(跳过)

MB_YESNOCANCEL

消息框含有三个按钮:Yes,No和Cancel

MB_RETRYCANCEL

有Retry(重试)和Cancel(取消)

MB_OKCANCEL

消息框含有两个按钮:OK和Cancel

附:

图标:

参数

含义

MB_ICONEXCLAMATION

一个惊叹号出现在 消息框

MB_ICONWARNING

一个惊叹号出现在 消息框

MB_ICONInfoRMATION

一个圆圈中小写字母i组成的图标出现在 消息框

MB_ICONASTERISK

一个圆圈中小写字母i组成的图标出现在 消息框

MB_ICONQUESTION

一个问题标记图标出现在 消息框

MB_ICONSTOP

一个停止消息图标出现在 消息框

MB_ICONERROR

一个停止消息图标出现在 消息框

MB_ICONHAND

一个停止消息图标出现在 消息框

形态:

参数

含义

MB_APPLMODAL

在hwnd参数标识的窗口中继续工作以前,用户一定响应 消息框 。但是,用户可以移动到其他线程的窗口且在这些窗口中工作。根据应用程序中窗口的层次机构,用户则以移动到线程内的其他窗口。所有母 消息框 的子窗口自动地失效,但是弹出窗口不是这样。如果既没有指定MB_SYSTEMMODAL也没有指定MB_TASKMOOAL,则MB_APPLMODAL为缺省的。

MB_SYSTEMMODAL

除了 消息框 有WB_EX_TOPMOST类型,MB_APPLMODAL和MB_SYSTEMMODAL一样。用系统模态 消息框 来改变各种各样的用户,主要的损坏错误需要立即注意(例如, 内存溢出 )。如果不是那些与hwnd联系的窗口,此标志对用户对窗口的相互联系没有影响。

MB_TASKMODAL

如果参数hwnd为NULL的话,那么除了所有属于当前线程高层次的窗口失效外,MB_TASKMODALL和MB_APPLMODAL一样。当调用应用程序或库没有一个可以得到的 窗口句柄 时,使用此标志。但仍需要阻止输入到调用线程的其他窗口,而不是搁置其他线程。

其他:

标志

含义

MB_DEFAULT_DESKTOP_ONLY

接收输入的当前桌面一定是一个缺省桌面。否则, 函数调用 失败。缺省桌面是一个在用户已经纪录且以后应用程序在此上面运行的桌面。

MB_HELP

把一个Help按钮增加到 消息框 。选择Help按钮或按F1产生一个Help事件。

MB_RIGHT

文本为右调整

MB_RTLREADING

用在Hebrew和Arabic系统中从右到左的顺序显示消息和大写文本。

MB_SETFOREGROUND

消息框 变为前景窗口。在内部系统为消息个调用SetForegroundWindow函数。

MB_TOPMOST

消息框 用WS_EX_TOPMOST窗口类型来创建MB_SERVICE_NOTIFICATION。

返回值

ID

选择了……

IDOK(1)

OK

IDCANCEL(2)

CANCEL

IDABORT(3)

ABORT

IDRETRY(4)

RETRY

IDIGNORE(5)

IGNORE

IDYES(6)

YES

IDNO(7)

NO

备注

通过将uType参数设置为相应的标志值,可以在消息框中系统图标,具体图标可参见MSDN网站。

图标

标志位值

MB_ICONHAND MB_ICONSTOP , 或者 MB_ICONERROR

MB_ICONQUESTION

MB_ICONEXCLAMATION 或者 MB_ICONWARNING

MB_ICONASTERISK 或者 MB_ICONINFORMATION

添加两个从右到左标记(RLMs),Unicode格式字符中用U+200F表示。在消息框显示字符串的开头被由MessageBox渲染引擎解释,以致造成MessageBox的阅读顺序,呈现为从右向左(RTL)。

当您使用一个系统模式消息框指示时,当系统内存不足时,由lpText和lpCaption的参数的字符串不应被从资源文件,因为加载资源的尝试可能会失败。

如果在一个对话框存在时创建一个消息框,则使用对话框的句柄作为hWnd参数。hWnd参数不应指定为一个子窗口,就像对话框中的控件一样。

MFC特例

假如您创建了一个MFC工程,如果工程文档中有MainFrm.cpp的话,那么,本函数就被封装成了:

参数

lpszText:指向一个字符串包含要显示的消息。

lpszCaption:指向一个字符串包含标题。

nType:指定消息框的内容和行为。

返回值

指定函数的结果。

下面的例子可以让我们对比两种函数的用法,两行代码的功能都是显示一个消息框,内容为“示例用法”

MessageBox(NULL,示例用法,demo,MB_OK);

MessageBox(示例用法);//采用了一些C++的语法特性使用消息框用起来更顺手

VB方法

函数原型:

参数说明:

(1)Text:必选项,消息框的正文。

(2)Title:可选项,消息框的标题。

(3)MessageBoxButtons:可选项,消息框的按钮设置,默认只显示【确定】按钮。

OK――确定OKCancel――确定和取消AbortRetryIgnore――终止、重试和忽略

YesNoCancel――是、否和取消YesNo――是和否RetryCancel――重试和取消

(4)MessageBoxIcon:对话框中显示的图标样式,默认不显示任何图标。

Question――问号Information、Asterisk――i号Error、Stop、Hand――错误号

Warning、Exclamation――!号None――不显示任何图标

(5)MessageBoxDefaultButtons:可选项,对话框中默认选中的按钮设置。

DefaultButton1――第1个button是默认按钮

DefaultButton2――第2个button是默认按钮

DefaultButton3――第3个button是默认按钮

备注:函数原型中蓝色字体部分的参数,可以通过点来获取其后面跟随的参数值。

相关词条

相关搜索

其它词条