//转载:https://blog.csdn.net/to_baidu/article/details/53792690
函数原型:
int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle );
注:应先将项目属性中的字符集属性改为多字符集(Unicode)。
参数解释:
- hwnd:父窗口的句柄,为NULL说明消息框没有父窗口;大多数情况下可以省略不写。
- lpText:指向要显示字符串的指针,对框框上显示的信息。
- lpCaption:消息框的标题,即提示框上部分显示的内容。
- uStyle:消息框的内容和行为,即该消息框有几个按钮、文本对齐等状态,可以在20多个属性值中进行组合。
uStyle可以是在WINUSER.H中定义的一组前缀以MB_开始的常数组合,可以使用"或"(|)运算符将下面显示的三组中各选一个常数组合起来指定消息框的内容和形为:
// 显示哪些按钮:
#define MB_OK 0X00000000L
#define MB_OKCANCEL 0X00000001L
#define MB_ABORTRERYGNORE 0X00000002L
#define MB_YESNOCANCEL 0X00000003L
#define MB_YESNO 0X00000004L
#define RERYCANCEL 0X00000005L
// 焦点在哪个按钮上:
#define MB_DEFBUTTON1 0X00000000L
#define MB_DEFBUTTON2 0X00000100L
#define MB_DEFBUTTON3 0X00000200L
#define MB_DEFBUTTON4 0X00000300L
// 图示的外观:
#define MB_ICONHAND 0x00000010L
#define MB_ICONQUESTION 0x00000020L
#define MB_ICONEXCLAMATION 0x00000030L
#define MB_ICONASTERISK 0x00000040L
//图示的某些有替代名称:
#define MB_ICONWARNING MB_ICONEXCLAMATION
#define MB_ICONERROR MB_ICONHAND
#define MB_ICONINFORMATION MB_ICONASTERISK
#define MB_ICONSTOP MB_ICONHAND
示例:
MessageBox(NULL, "Hello, Windows!","hello", MB_OK );
MessageBox(NULL, "Hello, Windows!","HelloMsg", MB_YESNO|MB_ICONEXCLAMATION) ;
MessageBox(NULL, "Hello, Windows!","HelloMsg", MB_YESNO|MB_DEFBUTTON1) ;//表示窗口出来后焦点 focus落在Yes(第一个)按钮上
返回值:
IDOK -- 1
IDCANCEL -- 2
IDABORT -- 3
IDRETRY -- 4
IDIGNORE -- 5
IDYES -- 6
IDNO -- 7
if(MessageBox(NULL,"是否打印?","choose",MB_YESNO)==IDYES)
{
cout<<"sss";
}
if messagebox("系统提示","...." , Question!,yesno!,2) = 2 then
这里选写了"否"的代码
else
这里选写了"是"的代码
end if
我补充下,messagebox("系统提示","...." , Question!,yesno!,2)等于几就说明用户点第几个按钮时的情况,1楼的
等于2指的是点击了第2个按钮。yesno!这种写法只有“是”和“否”选择,如果是3个按钮则这么写:
choose case messagebox("系统提示","...." , Question!,YesNoCancel!,2)
case 1
这里选写了"是"的代码
case 2
这里选写了"否"的代码
case 3
这里选写了"取消"的代码
end choose
最后一个参数,是默认的焦点放在哪个按钮上,1楼的例子就是默认放在“否”上。