MessageBox mfc messagebox的使用

MessageBox mfc messagebox的使用
简介  MessageBox是编程过程中,为了达到提示效果而设计的消息提示框。根据实际使用的不同需求,可以设定不同的参数值

编辑本段VB中的实例

  函数原型:MessageBox.Show(Text,Title,MessageBoxButtons,MessageBoxIcon,MessageBoxDefaultButtons)  参数说明:  (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是默认按钮  备注:函数原型中蓝色字体部分的参数,可以通过点来获取其后面跟随的参数值。

编辑本段C/C++中的用法

  MessageBox(NULL,"text","title",BUTTON);  参数title:string类型,指定消息对话框的标题。text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boolean值。icon:Icon枚举类型,可选项,指定要在该对话框左侧显示的图标。button:Button枚举类型,可选项,指定显示在该对话框底部的按钮。default:数值型,可选项,指定作为缺省按钮的按钮编号,按钮编号自左向右依次计数,缺省值为1,如果该参数指定的编号超过了显示的按钮个数,那么MessageBox()函数将使用缺省值返回值Integer。函数执行成功时返回用户选择的按钮编号(例如1、2、3等),发生错误时返回-1。如果任何参数的值为NULL,MessageBox()函数返回NULL。比如说,想弹出如图所示的窗口,命令为:  MessageBox(NULL,"MessageBoxText(内容)","Title(标题)",MB_OK);  如果想置顶  int iRet;  iRet=MessageBox(hwnd,"PLC报警!","对话框",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL);  或  iRet=MessageBox(NULL,"PLC报警!","对话框",  MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON1|MB_SYSTEMMODAL);  增加一个焦点在第一个按钮上更有效。

编辑本段函数功能

  该函数创建、显示、和操作一个消息框。消息框含有应用程序定义的消息和标题,加上预定义图标与Push(下按)按钮的任何组合。

编辑本段函数原型

  int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINTUType);

编辑本段参数

  hWnd:标识将被创建的消息框的拥有窗口。如果此参数为NULL,则消息框没有拥有窗口。  lpText:指向一个以NULL结尾的、含有将被显示的消息的字符串的指针。  lpCaption:指向一个以NULL结尾的、用于对话框标题的字符串的指针。  uType:指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。  指定下列标志中的一个来显示消息框中的按钮,标志的含义如下。  MB_ABORTRETRYIGNORE:消息框含有三个按钮:Abort,Retry和Ignore。  MB_OK:消息框含有一个按钮:OK。这是缺省值。  MB_OKCANCEL:消息框含有两个按钮:OK和Cancel。  MB_RETRYCANCEL:消息框含有两个按钮:Retry和Cancel。  MB_YESNO:消息框含有两个按钮:Yes和No。  MB_YESNOCANCEL:消息框含有三个按钮:Yes,No和Cancel。  指定下列标志中的一个来显示消息框中的图标:标志的含义如下。  MB_ICONEXCLAMATION:  MB_ICONWARNING:一个惊叹号出现在消息框。  MB_ICONINFORMATION:  MB_ICONASTERISK:一个圆圈中小写字母i组成的图标出现在消息框。  MB_ICONQUESTION:一个问题标记图标出现在消息框。  MB_ICONSTOP:  MB_ICONERROR:  MB_ICONHAND:一个停止消息图标出现在消息框。  指定下列标志中的一个来显不缺省的按钮:标志的含义如下。  MB_DEFBUTTON1:第一个按钮为缺省按钮。如果MB_DEFBUTTON2,MB_DEFBUTTON3,MB_DEFBUTTON4没有被指定,则MB_DEFBUTTON1为缺省值。  MB_DEFBUTTON2;第二个按钮为缺省按钮。  MB_DEFBUTTON3:第三个按钮为缺省按钮。  MB_DEFBUTTON4:第四个按钮为缺省按钮。  指定下列标志中的一个来显示对话框的形态:标志的含义如卜。  MB_APPLMODAL:在hwnd参数标识的窗口中继续工作以前,用户一定响应消息框。但是,用户可以移动到其他线程的窗口且在这些窗口中工作。根据应用程序中窗口的层次机构,用户则以移动到线程内的其他窗口。所有母消息框的子窗口自动地失效,但是弹出窗口不是这样。如果既没有指定MB_SYSTEMMODAL也没有指定MB_TASKMOOAL,则MB_APPLMODAL为缺省的。  MB_SYSTEMMODAL:除了消息框有WB_EX_TOPMOST类型,MB_APPLMODAL和WS_EX_TOPMOST一样。用系统模态消息框来改变各种各样的用户,主要的损坏错误需要立即注意(例如,内存溢出)。如果不是那些与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_TOPMOSI:消息框用WS_EX_TOPMOST窗口类型来创建MB_SERVICE_NOTIFICATION。  Windows NT:调用程序是一个通知事件的用户的服务程序。函数在当前活动桌面上显示一个消息框,即使没有用户登记到计算机。  如果设置了此参数,则hwnd参数一定为NULL。所以消息框可以出现在一个桌面上而不是桌面响应参数hwnd。  对于Windows NT4.0,MB_SERVICE_NOTIFICATION的值已经改变。对于旧的和新的值,请参见WINUSER。  Windows NT4.O通过把旧值映射到MessageBox和MessageBoxEx执行中的新值,为先存在的服务程序提供逆兼容。此映射只为有了版本数目的可执行程序而做。  为了建立一个用MB_SERVICE_NOTIFICATION的服务器,且可以在Windows NT 3.X和Window NT4.0上执行,可有两种选择。在连接时间,指定一个版本数目小于4.0的版本,或在连接时间,指定一个4.0版本。在运行时间,用函数GetVersionEx来检测系统版本,然后在WindowsNT 3.X上用MB_SERVICE_NOTIFICATION_NT 3.x来运行和在Windows NT4.0上用MB_SERVICE_NOTIFICAION来运行。MB_SERVCE_NOTIFICATION_NT3.x(WindowNT)此值响应于为WindowNT3.51的MB_SERVICE_NOTIFICAION  定义的值。

编辑本段返回值

  如果没有足够的内存来创建消息框,则返回值为零。如果函数调用成功,则返回值为下列对话框返回的菜单项目值中的一个:  IDABORT:Abort按钮被选中。IDCANCEL:Cancel按钮被选中。IDIGNORE:Ignore按钮被选中。  IDNO:NO按钮被选中。IDOK:OK按钮被选中。IDRETRY:RETRY按钮被选中。  IDYES:YES按钮被选中。  如果一个消息框有一个Cancel按钮,且如果Esc键被按下或Cancel键被选择,则函数返回IDCANCEL值。如果消息框没有Cancel按钮,则按Esc键没有作用。  MessageBox的返回值默认定义 MessageBox的返回值其实都是整型的数,以下是默认的定义  #define IDOK 1  #define IDCANCEL 2  #define IDABORT 3  #define IDRETRY 4  #define IDIGNORE 5  #define IDYES 6  #define IDNO 7  #if(WINVER >= 0x0400)  #define IDCLOSE 8  #define IDHELP 9

编辑本段备注

  当创建一个系统模态消息框来表示系统在内存的低端中时,由lpTeXt和lpCaption参数指向的字符串不应该从一个资源文件中取出,因为试图装载此资源可能导致失败。  当一个应用程序调用MessageBox,且为uType参数指定MB_ICONHAND和MB_SYSTEMMODAL标志时,系统不管可用内存为多少,直接显示结果消息框。当这些标志被指定,系统把消息框文本的长度局限于三行。系统不能自动截断要填到消息框的行,但是消息字符串一定含有回车换行,以在合适的位置换行。  如果在对话框出现的的同时创建了消息框,则可使用对话框的句柄作为hwnd参数,hwnd参数不应该标识一个子窗口,例如对话框中的一个控制。  Windows 95:系统可以支持最大达16364个窗口句柄。  Windows CE:Windows CE 不支持uType参数的下列值:  MB_STSTEMMODAL;MB_TASKMODAL;MB_HELP;MB_RTLREADING;MB_DEFAULT_DESKTOP_ONLY;  MB_SERVICE_NOTIFICATION;MB_USERICON。  不支持下列返回值:IDCLOSE;IDHELP。

编辑本段速查

  Windows:3.1及以上版本:Windows:95及以上版本;Windows:1.0及以上版本;头文件:Winuser.h;库文件:USer32.lib;URicode:在WindowsNT上实现为Unicode和ANSI两种版本。  ----------------------------------------------------------------------------------------------------------------------------------------------------  在MFC里面MessageBox被封装成了更方便使用的另外一种形式:  *************************************************************以下内容引自msdn***************************************************************  int MessageBox(  LPCTSTR lpszText,  LPCTSTR lpszCaption = NULL,  UINT nType = MB_OK  );  Parameters  lpszText  Points to a CString object or null-terminated string containingthe message to be displayed.  lpszCaption  Points to a CString object or null-terminated string to be usedfor the message-box caption. If lpszCaption is NULL, the defaultcaption "Error" is used.  nType  Specifies the contents and behavior of the message box.  Return Value  Specifies the outcome of the function. It is 0 if there is notenough memory to create the message box.  Remarks  Use the global function AfxMessageBox instead of this memberfunction to implement a message box in your application.  The following shows the various system icons that can be used ina message box:  
<IMG alt=""src="ms-help://MS.MSDNQTR.2005JUL.1033/vclib/html/vc364f1.gif"border=0>
<IMG alt=""src="ms-help://MS.MSDNQTR.2005JUL.1033/vclib/html/vc364f2.gif"border=0>
<IMG alt=""src="ms-help://MS.MSDNQTR.2005JUL.1033/vclib/html/vc364f3.gif"border=0>
<IMG alt=""src="ms-help://MS.MSDNQTR.2005JUL.1033/vclib/html/vc364f4.gif"border=0>
*************************************************************以上内容引自msdn***************************************************************  由于这种形式的MessageBox使用起来更方便,所以更多时候程序员使用的是这一种形式的消息框  下面的例子可以让我们对比两种函数的用法,两行代码的功能都是显示一个消息框,内容为“示例用法”  ::MessageBox(NULL, "示例用法", "demo", MB_OK);  MessageBox("示例用法");//采用了一些C++的语法特性使用消息框用起来更顺手

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/260957.html

更多阅读

痄腮散的使用说明 宝宝炸腮怎么办

腮腺炎,中医学称“痄腮”, 民间也称“猪头肥”。是儿童和青少年中常见的呼吸道传染病,由腮腺炎病毒所引起。冬春季节发病较多,病人是传染源,飞沫的吸入是主要传播途径,接触病人后2-3周发病。腮腺炎主要表现为一侧或两侧耳垂下肿大,肿大的腮

详解暖宝宝的使用方法 暖宝宝使用方法

暖宝宝能够快速热敷、消肿、止痛、活血化瘀,广泛适用于各种畏寒症。并能快速缓解并消除各种畏寒疾病引起的疼痛,是关节炎、肩周炎、腰腿痛、风湿及类风湿、四肢发凉、患处遇寒疼痛等疾病患者迅速止痛的即开即用型产品。详解暖宝宝的使

卷发器怎么用?图解卷发器的使用方法 卷发器的使用方法图解

卷发器怎么用?图解卷发器的使用方法——简介很多MM都有卷发情结,漂亮的卷发成了众多爱美女士的追求,对于爱美的MM们来说,卷发器已经成为了可以自己动手打造百变造型的重要家电产品。不用去发廊就可以自己做出漂亮的卷发,下面就跟随小编一

消防栓的使用方法 消火栓的正确使用方法

消防栓的使用方法——简介消防栓是安装在消防给水管网上的,主要供消防队灭火使用。分地上、地下两种。地上消防栓适于气温较高的地方,其供水接口装在高于路面的垂直筒体上。地下消防栓和地下消防栓构造大致相似,主要由弯管、阀体、阀座

声明:《MessageBox mfc messagebox的使用》为网友我是你们的后盾分享!如侵犯到您的合法权益请联系我们删除