c++中的消息框messagebox()详细介绍及使用方法
来源:互联网 发布:招行信用卡网络盗刷 编辑:程序博客网 时间:2024/06/04 19:19
简介:
MessageBox指的是显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。
语法:
MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType)
参数:
hWnd:
此参数代表消息框拥有的窗口。如果为NULL,则消息框没有拥有窗口。
lpText:
消息框的内容。
lpCaption:
消息框的标题。
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参数不应指定为一个子窗口,就像对话框中的控件一样。
MessageBox(m_hWnd , _T("这是一个最简单的消息框!"));
MessageBox(m_hWnd,_T("这是一个有标题的消息框!"),_T("标题"));
MessageBox(m_hWnd,_T("这是一个确定 取消的消息框!"),_T("标题"), MB_OKCANCEL );
MessageBox(m_hWnd,_T("这是一个警告的消息框!"),_T("标题"), MB_ICONEXCLAMATION );
MessageBox(m_hWnd,_T("这是一个两种属性的消息框!"),_T("标题"), MB_ICONEXCLAMATION|MB_OKCANCEL );
在这里使用“_T”标注为使用Unicode,防止因为有的兼容问题而编译不过。
MFC特例
假如您创建了一个MFC工程,如果工程文档中有MainFrm.cpp的话,那么,本函数就被封装成了
int MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption = NULL,UINT nType = MB_OK);
折叠参数
lpszText:指向一个字符串包含要显示的消息。
lpszCaption:指向一个字符串包含标题。
nType:指定消息框的内容和行为。
MessageBox(_T("这是一个最简单的消息框!"));
MessageBox(_T("这是一个有标题的消息框!"),_T("标题"));
MessageBox(_T("这是一个确定 取消的消息框!"),_T("标题"), MB_OKCANCEL );
MessageBox(_T("这是一个警告的消息框!"),_T("标题"), MB_ICONEXCLAMATION );
MessageBox(_T("这是一个两种属性的消息框!"),_T("标题"), MB_ICONEXCLAMATION|MB_OKCANCEL );
mfc下使用MessageBox(HWND hWnd,LPCTSTR lpText, LPCTSTR lpCaption,UINT uType)方法:
::MessageBox(m_hWnd,_T("这是一个两种属性的消息框!"),_T("标题"), MB_ICONEXCLAMATION|MB_OKCANCEL );
- c++中的消息框messagebox()详细介绍及使用方法
- c++中的消息框messagebox()详细介绍及使用方法
- Delphi和C++builder中的MessageBox及相近的四种消息框
- C#_ACCP_Windows_消息框MessageBox
- GCD 详细介绍及使用方法
- C#.消息对话框MessageBox
- 消息对话框(MessageBox)用法介绍
- 移动控件介绍及详细使用方法
- MFC:WM_NOTIFY的使用方法及详细介绍
- MySql索引的使用方法及详细介绍
- 详细介绍C/C++时间函数使用方法
- 详细介绍C/C++时间函数使用方法
- C#中的MessageBox消息对话框
- C#中的MessageBox消息对话框
- C#中的MessageBox消息对话框
- C#中的MessageBox消息对话框
- C#中的MessageBox消息对话框
- C#中的MessageBox消息对话框
- 南京宇航YHCNC FANUC2004 12操作说明书
- 泛型
- 多线程爬虫(提升爬虫的速度)
- html样式初理解
- vue 资料合集
- c++中的消息框messagebox()详细介绍及使用方法
- Redis学习笔记(十)消息通知(任务队列和发布订阅模式)
- @Controller和@RestController的区别?
- Mybatis 返回值类型
- python初学笔记2
- MySQL函数 查询树子节点
- Android深入浅出之Binder机制
- Ubuntu16.04安装caffe cpu问题总结
- mysql+php+ajax实现用户管理(简单版,日期处理)