C++控制台窗口文字高亮显示

前言

 由于亿些事情,最近一个月实在没有时间更新,今天终于是挤出来时间更一期了。

正文

定义变量+导入库文件:

#include 
#include 
#include
#include 
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("\033[显示方式;字体颜色;背景色m*             文字                      *\033[0m");

例:printf("\033[4;31;42m*             选择1                   *\033[0m");

于是就有了以下代码:

switch (a){
        	case 1:
        		system("cls");
        		printf("\033[1;30;47m*选择1*\n\033[0m");
        		printf("选择2\n");
        		printf("Exit\n");
        		break;
        	case 2:
        		system("cls");
        		printf("选择1\n");
        		printf("\033[1;30;47m*选择2*\n\033[0m");
        		printf("Exit\n");
        		break;
        	case 3:
        		system("cls");
        		printf("选择1\n");
        		printf("选择2\n");
        		printf("\033[1;30;47m*Exit*\n\033[0m");
        		break;

 步骤2:如何让机器识别我们的选择?

我们使用 _getch()来识别我们的按键,它返回的是一个虚拟按键值,代码如下:

choice = _getch();

步骤3:让机器对我们的选择做出判断!

使用switch case语句,判断返回的按键值是否等于w、s、Enter

switch (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("选择了1\n");
					system("pause");
					break;
				case 2://选择2
					system("cls");
					printf("选择了2\n");
					system("pause");
					break;
				case 3://退出程序
					exit(0);
			}
		
		}

记住,一定要做好限位,否则如果a<1或a>3会出现bug

代码只是一个示例,对于显示的文字和代码可以自行更改

完整代码:


#include 
#include 
#include
#include 
using namespace std;
int choice;
int a=1;
int main()
{

    while (1)
    {
    
        switch (a){
        	case 1:
        		system("cls");
        		printf("\033[1;30;47m*选择1*\n\033[0m");
        		printf("选择2\n");
        		printf("Exit\n");
        		break;
        	case 2:
        		system("cls");
        		printf("选择1\n");
        		printf("\033[1;30;47m*选择2*\n\033[0m");
        		printf("Exit\n");
        		break;
        	case 3:
        		system("cls");
        		printf("选择1\n");
        		printf("选择2\n");
        		printf("\033[1;30;47m*Exit*\n\033[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("选择了1\n");
					system("pause");
					break;
				case 2:
					system("cls");
					printf("选择了2\n");
					system("pause");
					break;
				case 3:
					exit(0);
			}
		//cout<

演示视频:

C++控制台高亮选择测试——使用Clipchamp制作

你可能感兴趣的:(C++,帮助文档,c++,开发语言)