您的位置:首页 > 编程语言 > C语言/C++

关于c++颜色的控制

2017-08-10 20:38 351 查看
1.改变整个控制台的颜色

用 system("color 0A"); 

其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下: 

0=黑色 

1=蓝色 

2=绿色 

3=湖蓝色 

4=红色 

5=紫色 

6=黄色 

7=白色 

8=灰色 

9=淡蓝色 

A=淡绿色 

B=淡浅绿色 

C=淡红色 

D=淡紫色 

E=淡黄色 

F=亮白色 
[cpp]

view plain
copy
print?

void account::entrance()  

{  

    system("color 0b");//!  

    char n;  

    machine m;  

    while(1)  

    {  

    system("cls");  

    cout <<endl;  

    cout<<"\t\t  O(∩_∩)O~~ 欢迎进入南阳康佳公司的设备管理系统\n\n";  

    cout<<"\t\t╔*☆***◎***◇***☆*** 菜单 ***☆***◇***◎***☆*╗\n";  

    cout<<"\t\t|★|\t\t               \t\t\t|★|\n";  

    cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";  

    cout<<"\t\t|★|\t\t 1.设备信息显示\t\t\t|★|\n";  

    cout<<"\t\t|☆|\t\t 2.设备信息查询\t\t\t|☆|\n";  

    cout<<"\t\t|★|\t\t 3.返回        \t\t\t|★|\n";  

    cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";  

    cout<<"\t\t|★|\t\t               \t\t\t|★|\n";  

    cout<<"\t\t|☆|\t\t               \t\t\t|☆|\n";  

    cout<<"\t\t╚*☆***◎***◇****☆****★****☆****◇***◎***☆*╝\n\n";  

    cout<<"\t\t请选择您要实现的功能选项 (1-3): [ ]\b\b";  

    while(1)  

    {  

        cin>>n;getchar();  

        if(n<'1'||n>'3')  

            printf("输入错误,请您重新输入选项(1-3):[ ]\b\b");  

        else  

            break;  

    }  

    if(n=='1') {m.show();}  

    if(n=='2') m.select();  

    if(n=='3') return;  

    }  

}  

2.改变下一个输出或者输入字体和背景的颜色

采用SetConsoleTextAttribute函数,如

White on Black:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |

            FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

Red on Black:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |

            FOREGROUND_RED);

Green on Black:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |

            FOREGROUND_GREEN);

Yellow on Black:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |

            FOREGROUND_RED | FOREGROUND_GREEN);

Blue on Black:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |

            FOREGROUND_BLUE);

Magenta on Black:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |

            FOREGROUND_RED | FOREGROUND_BLUE);

Cyan on Black:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |

            FOREGROUND_GREEN | FOREGROUND_BLUE);

Black on Gray:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |

            BACKGROUND_INTENSITY);

Black on White:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |

            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);

Red on White:

        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |

            FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |

            FOREGROUND_R
b961
ED);

等等。

需要引入头文件:

windows.h

函数原型:

BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes ); 

wAttributes 的取值含义对应如下:

Attribute Meaning 

FOREGROUND_BLUE Text color contains blue. 

FOREGROUND_GREEN Text color contains green. 

FOREGROUND_RED Text color contains red. 

FOREGROUND_INTENSITY Text color is intensified. 

BACKGROUND_BLUE Background color contains blue. 

BACKGROUND_GREEN Background color contains green. 

BACKGROUND_RED Background color contains red. 

BACKGROUND_INTENSITY Background color is intensified. 

COMMON_LVB_LEADING_BYTE Leading byte. 

COMMON_LVB_TRAILING_BYTE Trailing byte. 

COMMON_LVB_GRID_HORIZONTAL Top horizontal. 

COMMON_LVB_GRID_LVERTICAL Left vertical. 

COMMON_LVB_GRID_RVERTICAL Right vertical. 

COMMON_LVB_REVERSE_VIDEO Reverse foreground and background attributes. 

COMMON_LVB_UNDERSCORE Underscore.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: