简述
MessageBox()函数,它的功能是弹出一个标准的Windows对话框。返回值是一个int型的整数,用于判断用户点击了对话框中的哪一个按钮。它不是C函数库的标准函数,而是API函数,但是可以用C语言调用API函数。
函数原型
包含在头文件 windows.h中
int MessageBox( HWND hWnd,LPCTSTR lpText, LPCTSTR lpCaption = NULL, UINT nType = MB_OK );
1
参数
第一个参数:hWnd
该参数是一个窗口句柄,指定该对话框的所有者窗口。如果该参数为空(0/NULL),则该对话框不属于任何窗口。
第二个参数:lpText
该参数是一个字符串,指显示在对话框中的内容。
第三个参数:lpCaption
也是是一个字符串,指对话框的标题。如果此参数为空,则默认使用“错误”作为标题
第四个参数:nType
指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。
注:四个参数中只有第二个参数是必要的,其他皆可省略
返回值
上面已经说了他的返回值是一个int类型的数据,可以用来判断用户点击了哪一个按钮,那么具体是怎么来判断呢?如下
返回值
含义
IDABORT
Abort 按钮被选中
IDCANCEL
Cancel按钮被选中
IDIGNORE
Ignore按钮被选中
IDNO
NO按钮被选中
IDOK
OK按钮被选中
IDRETRY
RETRY按钮被选中
IDYES
YES按钮被选中
举个栗子
#include<windows.h>
int main()
{
int i;
i=MessageBox(NULL,"do you?","baby",MB_YESNO);
if(i==IDYES)
MessageBox(NULL,"Yes","Yes",MB_OK);/*如果点击了“是”*/
else
MessageBox(NULL,"No","No",MB_OK);/*否则*/
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
注:如果没有足够的内存创建对话框,则返回0。
对话框格式设置
指定按钮样式
代号
含义
MB_ABORTRETRYIGNORE
显示 Abort、Retry 及 Ignore 按钮
MB_OK
只显示 OK 按钮(默认)
MB_YESNO
显示 Yes 及 No 按钮
MB_OKCANCEL
显示 OK 及 Cancel 按钮
MB_RETRYCANCEL
显示 Retry 及 Cancel 按钮
MB_YESNOCANCEL
显示 Yes、No 及 Cancel 按钮
MB_HELP
将Help按钮添加到对话框
指定图标样式
代号
含义
MB_ICONQUESTION
显示 Warning Query 图标
MB_ICONEXCLAMATION, MB_ICONWARNING
显示 Warning Message 图标
MB_ICONINFORMATION, MB_ICONASTERISK
显示 Information Message 图标
MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND
显示 Critical Message 图标
其他设置
代号
含义
MB_RIGHT
文本右对齐
注:同时设置多个项时
,不同的代号用 '| '连接。如:MB_OK | MB_ICONQUESTION |