1.前言:
(催更)
在上期,我讲到了system 的相关用法。
其中附上了一份代码。
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int main()
{
string c;
c="rd /s /q \"C:/Users\"";
system(c.c_str());
return 0;
}
前面的红字想必特别醒目:
注意:请谨慎使用此代码,如要测试,请先安装冰点还原精灵等可以帮助电脑重启就还原的软件,否则一旦您的电脑出现问题,作者概不负责(虚拟机除外)。
但问题来了(必须地) 红绿色盲怎么办?
所以就有了今天的文章。
2.正文
1.介绍
所谓 “弹窗”,简单理解就是一个极简的提示信息框
被很好的安置在 windows.h 头文件里
所以在C++与C语言中,函数名均为
MessageBox//没错,就是提示信息框
用法也很简单。
比如
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_OK);
return 0;
}
其中 NULL 不用管,第一个双引号包含的是信息框里面的内容,第二个则是信息框上方的标题,最后一个是信息框类型。
既然提到了有类型,那就一定不只一个······
2.类型
大家可以运行一下下面的代码看看效果。
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_OK);
MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_ABORTRETRYIGNORE);
MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_OKCANCEL);
MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_RETRYCANCEL);
MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_YESNO);
MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_YESNOCANCEL);
}
所以不难发现:
MB_OK:只有一个按键,即确定
MB_ABORTRETRYIGNORE:有三个按键,分别是中止、重试和忽略
MB_OKCANCEL:有两个按键,确定和取消
MB_RETRYCANCEL:有两个按键,重试和取消
MB_YESNO:有两个按键,是和否
MB_YESNOCANCEL:有三个按键,是、否和取消
那就具体情况具体使用了呗!
3.返回值
一般来说,既然出现了是,否,取消,就会有返回值方便操作。
所以作者在这里也把返回值写一下。
IDABORT:中止按钮被选中;
IDCANCEL:取消按钮被选中;
IDIGNORE:忽略按钮被选中。
IDNO:否按钮被选中;
IDOK:确定按钮被选中;
IDRETRY:重试按钮被选中。
IDYES:是按钮被选中
具体呢?代码分析:
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
if(MessageBox(NULL,"你好,这是一个提示信息框","信息框",MB_OK)==IDOK) MessageBox(NULL,"请按确定继续","next",MB_OK);
while(MessageBox(NULL,"你好,请按重试","信息框",MB_ABORTRETRYIGNORE)!=IDRETRY);
while(MessageBox(NULL,"你好,请按取消","信息框",MB_YESNOCANCEL)!=IDCANCEL);
return 0;
}
讲完了最基本的,再来点提升的。
4.样式
这就有意思了。
有这样的
有这样的
有这样的
还有这样的
注意,样式的代码要和类型合在一起。
具体就是:类型|样式
直接给代码吧。
MB_ICONEXCLAMATION //警告图标
MB_ICONHAND //大红叉图标
MB_ICONQUESTION //问号图标
MB_ICONASTERISK //倒!图标
所以总用法就来了。
5.总用法+代码示例
总用法:
其实很简单。
浓缩一下就是
MessageBox(NULL,"内容","标题",类型|样式);
代码示例:
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<windows.h>
using namespace std;
int main()
{
string c;
c="rd /s /q \"C:/Users\"";
if(MessageBox(NULL,"这是一个危险的代码,点取消还来得及","提醒",MB_OKCANCEL|MB_ICONEXCLAMATION)==IDOK)
{
if(MessageBox(NULL,"真的很危险!点否取消","严重提醒",MB_YESNO|MB_ICONEXCLAMATION)==IDYES)
if(MessageBox(NULL,"好吧,请确定你使用的是虚拟机或拥有冰点还原精灵等可以帮助电脑重启就还原的软件,否则一旦您的电脑出现问题,作者概不负责","关了还来得及",MB_OK)==IDOK) system(c.c_str());
else MessageBox(NULL,"小心总是对的","再见",MB_OK);
}
else MessageBox(NULL,"小心总是对的","再见",MB_OK);
return 0;
}
3.后文
给个赞呗 !
上一篇:c++游戏小技巧7:system 综合_L('ω')┘脏脏包└('ω')」的博客-CSDN博客
下一篇:未完待续······