前言
由于亿些事情,最近一个月实在没有时间更新,今天终于是挤出来时间更一期了。
正文
定义变量+导入库文件:
复制代码
1
2
3
4
5
6
7
8#include <iostream> #include <conio.h> #include<windows.h> #include <stdlib.h> using namespace std; int choice;//保存虚拟按键值,可以上网搜,也可以自己做程序,个人感觉自己做程序更方便 //本章节使用的按键值:W(向上):119 S(向下):115 Enter:13 int a=1;//定义选择的位置
步骤1:如何进行高亮显示?
这是这篇文章中最主要的一个问题,现在找到了解决方法,如下:
显示方式:
0(默认值)
1(高亮显示,顺便加粗?不确定)
2(暗淡)
22(非粗体,不确定)
4(下划线)
5(闪烁,但是我没看出有什么效果。。)
25(非闪烁)
7(反显,我也没看出效果)
27(非反显)
8(隐藏)
字体颜色:
30(黑色)
31(红色)
32(绿色)
33(黄色)
34(蓝色)
35(品红)
36(青色)
37(白色)
背景色:
40(黑色)
41(红色)
42(绿色)
43(黄色)
44(蓝色)
45(品红)
46(青色)
47(白色)
格式:printf("33[显示方式;字体颜色;背景色m* 文字 *33[0m");
例:printf("33[4;31;42m* 选择1 *33[0m");
于是就有了以下代码:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19switch (a){ case 1: system("cls"); printf("33[1;30;47m*选择1*n33[0m"); printf("选择2n"); printf("Exitn"); break; case 2: system("cls"); printf("选择1n"); printf("33[1;30;47m*选择2*n33[0m"); printf("Exitn"); break; case 3: system("cls"); printf("选择1n"); printf("选择2n"); printf("33[1;30;47m*Exit*n33[0m"); break;
步骤2:如何让机器识别我们的选择?
我们使用 _getch()来识别我们的按键,它返回的是一个虚拟按键值,代码如下:
复制代码
1choice = _getch();
步骤3:让机器对我们的选择做出判断!
使用switch case语句,判断返回的按键值是否等于w、s、Enter
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35switch (choice){ case 119://按下w键,向上移动 if(a<=1){//做限位 a=1; } if(a>1){ a--; } break; case 115://按下s键,向下移动 if(a>=3){//做限位 a=3; } if(a<3){ a++; } break; case 13://按下回车键确认执行,做出以下判断 switch (a){ case 1://选择1 system("cls"); printf("选择了1n"); system("pause"); break; case 2://选择2 system("cls"); printf("选择了2n"); system("pause"); break; case 3://退出程序 exit(0); } }
记住,一定要做好限位,否则如果a<1或a>3会出现bug
代码只是一个示例,对于显示的文字和代码可以自行更改
完整代码:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75#include <iostream> #include <conio.h> #include<windows.h> #include <stdlib.h> using namespace std; int choice; int a=1; int main() { while (1) { switch (a){ case 1: system("cls"); printf("33[1;30;47m*选择1*n33[0m"); printf("选择2n"); printf("Exitn"); break; case 2: system("cls"); printf("选择1n"); printf("33[1;30;47m*选择2*n33[0m"); printf("Exitn"); break; case 3: system("cls"); printf("选择1n"); printf("选择2n"); printf("33[1;30;47m*Exit*n33[0m"); break; } choice = _getch(); switch (choice){ case 119: if(a<=1){ a=1; } if(a>1){ a--; } break; case 115: if(a>=3){ a=3; } if(a<3){ a++; } break; case 13: switch (a){ case 1: system("cls"); printf("选择了1n"); system("pause"); break; case 2: system("cls"); printf("选择了2n"); system("pause"); break; case 3: exit(0); } //cout<<choice<<"n";//W:119 S:115 Enter:13 } } return 0; }
演示视频:
C++控制台高亮选择测试——使用Clipchamp制作
最后
以上就是羞涩鸡翅最近收集整理的关于C++控制台窗口文字高亮显示前言正文的全部内容,更多相关C++控制台窗口文字高亮显示前言正文内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复