天天看点

MessageBox函数

简述

  MessageBox()函数,它的功能是弹出一个标准的Windows对话框。返回值是一个int型的整数,用于判断用户点击了对话框中的哪一个按钮。它不是C函数库的标准函数,而是API函数,但是可以用C语言调用API函数。

函数原型

包含在头文件 windows.h中

参数

  • 第一个参数: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;
} 
           

注:如果没有足够的内存创建对话框,则返回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

继续阅读