MessageBox函数作用:弹出一个可自定义的对话框
编译环境:DEV C++ 4.9.9.2(及以上)
所在函数库:windows.h
格式:MessageBox(句柄(一般为NULL),TEXT("内容"),TEXT("标题"),对话框属性)
对话框属性:
设置按钮属性:
值 | 对话框按钮属性 |
0 | 一个“确定”按钮 |
1 | “确定”和“取消”按钮 |
2 | “中止”、“重试”和“忽略”按钮 |
3 | “是”、“否”和“取消”按钮 |
4 | “是”和“否”按钮 |
5 | “重试”和“取消”按钮 |
注:如果不设置,默认为0
设置图标属性:
值 | 图标 |
16 | 一个红色的叉 |
32 | 一个问号 |
48 | 一个惊叹号 |
64 | 一个字母“i” |
到这里,肯定就有人要问了:如果既想要设置图标,又想设置按钮属性,怎么办?
那你就这么办:譬如你想要“确定”和“取消”按钮,又想要一个惊叹号,就对话框属性写成1+48
注:当然也可以写成49(1+48=49,这谁不知道),不过为了增强程序的解读性,最好写成1+48
返回值:
在对话框中按了不同的键,该函数将返回不同的值:
当按下: | 值 |
确定 | 1 |
取消 | 2 |
中止 | 3 |
重试 | 4 |
忽略 | 5 |
是 | 6 |
否 | 7 |
这样我们就可以跟据不同的返回值做不同的处理了
示例:在10秒内关机
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main(){
int k=4;
if (MessageBox(NULL,TEXT("你确定要在10秒钟内关机吗?"),TEXT("系统提示"),1+48)==1){
system("shutdown -s -t 10");
while (k==4){
k=MessageBox(NULL,TEXT("Windos系统在10秒钟内即将关闭"),TEXT("系统提示"),2+48);
if (k==3){
system("shutdown -a");
MessageBox(NULL,TEXT("已取消关机"),TEXT("系统提示"),0);
}
if (k==4){
system("shutdown -a");
system("shutdown -s -t 10");
}
}
}
return 0;
}