转自:YALI_xunzhen
MessageBox函数作用:弹出一个可自定义的对话框
编译环境:DEV C++ 4.9.9.2(及以上)
所在函数库:windows.h
格式:MessageBox(句柄(一般为NULL),TEXT("内容"),TEXT("标题"),对话框属性)
对话框属性:
设置按钮属性:
| 值 | 对话框按钮属性 |
| 0 | 一个“确定”按钮 |
| 1 | “确定”和“取消”按钮 |
| 2 | “中止”、“重试”和“忽略”按钮 |
| 3 | “是”、“否”和“取消”按钮 |
| 4 | “是”和“否”按钮 |
| 5 | “重试”和“取消”按钮 |
| 6 | “取消”、’‘重试’‘、’‘继续’‘按钮 |
注:如果不设置,默认为0
设置图标属性:
| 值 | 图标 |
| 16 | 一个红色的叉 |
| 32 | 一个问号 |
| 48 | 一个惊叹号 |
| 64 | 一个字母“i” |
到这里,肯定就有人要问了:如果既想要设置图标,又想设置按钮属性,怎么办?
那你就这么办:譬如你想要“确定”和“取消”按钮,又想要一个惊叹号,就对话框属性写成1+48
注:当然也可以写成49(1+48=49,这谁不知道),不过为了增强程序的解读性,最好写成1+48
返回值:
在对话框中按了不同的键,该函数将返回不同的值:
但不过按钮数值不一样,返回的值就不一样。
这个小程序可以试一试各个按钮的数值:
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main(){
int k;
k=MessageBox(NULL,TEXT("请选择,并看返回值。"),TEXT("按钮返回值测试"),按钮属性数值);
printf("%d\n",k);
return 0;
}
这样我们就可以跟据不同的返回值坐不同的处理了
示例:在10秒内关机小程序
<span style="color:#000000;">#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;
} </span>
1467

被折叠的 条评论
为什么被折叠?



