VC中MessageBox的常见用法
2015-06-10 20:59
134 查看
一、关于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也可以点 |
相关文章推荐
- linux nano 命令
- PKUSC2015总结
- Android 开发使用自定义字体
- 转 深入解析浏览器的幕后工作原理
- Windows7 连接Windows Server服务器时提示:计算机无法连接到远程计算机上的另一个控制台会话。
- java的泛型与类型擦除
- WIN32无边框窗体的缩放、移动与WM_NCHITTEST消息&&UpdateLayeredWindow重要心得
- HDU 4557 【水+list使用】
- 修改Active Directory域控制器计算机名称
- jsp:usebean setProperty getProperty
- java中main函数解析
- Action和JSP之间的通信
- Excel Sheet Column Number
- Two Sum
- 06-图8. 关键活动
- CMSIS-RTOS RTX API创建一个线程的多个运行实例
- J8口管脚说明
- [android]APP启动界面——SplashActivity
- React学习——ListView(Reflux)
- J8口管脚说明