给控制台程序点“颜色”瞧瞧

时间:2022-05-16 02:47:02
给控制台程序点“颜色”瞧瞧
    你对控制台程序的第一感受是什么,是否觉得黑漆漆的,死气沉沉?那么就试着让它变的活泼一点吧,下面我们就动手改变下它的字体颜色,思路非常简单,首先获取到标准输出的句柄,然后设置下控制台的文本属性就可以了。
给控制台程序点“颜色”瞧瞧#pragma  once
给控制台程序点“颜色”瞧瞧#include 
< iostream >
给控制台程序点“颜色”瞧瞧#include 
< windows.h >
给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧inline std::ostream
&  blue(std::ostream  & s)
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧
{
给控制台程序点“颜色”瞧瞧    HANDLE hStdout 
= GetStdHandle(STD_OUTPUT_HANDLE); 
给控制台程序点“颜色”瞧瞧    SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
给控制台程序点“颜色”瞧瞧        
|FOREGROUND_GREEN|FOREGROUND_INTENSITY);
给控制台程序点“颜色”瞧瞧    
return s;
给控制台程序点“颜色”瞧瞧}

给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧inline std::ostream
&  red(std::ostream  & s)
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧
{
给控制台程序点“颜色”瞧瞧    HANDLE hStdout 
= GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出句柄
给控制台程序点“颜色”瞧瞧
    SetConsoleTextAttribute(hStdout,FOREGROUND_RED|FOREGROUND_INTENSITY);//设置文本颜色
给控制台程序点“颜色”瞧瞧
    return s;
给控制台程序点“颜色”瞧瞧}

给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧inline std::ostream
&  green(std::ostream  & s)
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧
{
给控制台程序点“颜色”瞧瞧    HANDLE hStdout 
= GetStdHandle(STD_OUTPUT_HANDLE); 
给控制台程序点“颜色”瞧瞧    SetConsoleTextAttribute(hStdout, 
给控制台程序点“颜色”瞧瞧        FOREGROUND_GREEN
|FOREGROUND_INTENSITY);
给控制台程序点“颜色”瞧瞧    
return s;
给控制台程序点“颜色”瞧瞧}

给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧inline std::ostream
&  yellow(std::ostream  & s)
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧
{
给控制台程序点“颜色”瞧瞧    HANDLE hStdout 
= GetStdHandle(STD_OUTPUT_HANDLE); 
给控制台程序点“颜色”瞧瞧    SetConsoleTextAttribute(hStdout, 
给控制台程序点“颜色”瞧瞧        FOREGROUND_GREEN
|FOREGROUND_RED|FOREGROUND_INTENSITY);
给控制台程序点“颜色”瞧瞧    
return s;
给控制台程序点“颜色”瞧瞧}

给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧inline std::ostream
&  white(std::ostream  & s)
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧
{
给控制台程序点“颜色”瞧瞧    HANDLE hStdout 
= GetStdHandle(STD_OUTPUT_HANDLE); 
给控制台程序点“颜色”瞧瞧    SetConsoleTextAttribute(hStdout, 
给控制台程序点“颜色”瞧瞧        FOREGROUND_RED
|FOREGROUND_GREEN|FOREGROUND_BLUE);//R,G,B混合就为白色
给控制台程序点“颜色”瞧瞧
    return s;
给控制台程序点“颜色”瞧瞧}

给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧
struct  color 
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧
{
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧    color(WORD attribute):m_color(attribute)
{};
给控制台程序点“颜色”瞧瞧    WORD m_color;
//颜色值
给控制台程序点“颜色”瞧瞧
}
;
给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧
// 使用模板函数,推荐这种方式
给控制台程序点“颜色”瞧瞧

给控制台程序点“颜色”瞧瞧template 
< class  _Elem,  class  _Traits >
给控制台程序点“颜色”瞧瞧std::basic_ostream
< _Elem,_Traits >&  
给控制台程序点“颜色”瞧瞧
operator << (std::basic_ostream < _Elem,_Traits >&  i, color &  c)
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧
{
给控制台程序点“颜色”瞧瞧    HANDLE hStdout
=GetStdHandle(STD_OUTPUT_HANDLE); 
给控制台程序点“颜色”瞧瞧    SetConsoleTextAttribute(hStdout,c.m_color);
给控制台程序点“颜色”瞧瞧    
return i;
给控制台程序点“颜色”瞧瞧}

给控制台程序点“颜色”瞧瞧

给控制台程序点“颜色”瞧瞧#include  " stdafx.h "
给控制台程序点“颜色”瞧瞧#include 
" ConsoleColor.h "
给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧
int  main() 
给控制台程序点“颜色”瞧瞧给控制台程序点“颜色”瞧瞧

给控制台程序点“颜色”瞧瞧    std::cout
<<red<<"嘿嘿,这可是红色的字体哦"<<std::endl;
给控制台程序点“颜色”瞧瞧    std::cout 
<< green << "再看看这个呢,绿色的,喜欢不?"<< white << std::endl;
给控制台程序点“颜色”瞧瞧    std::cout 
<< color(FOREGROUND_RED|FOREGROUND_GREEN) << "该死,这颜色嘎难看了!"<< white << std::endl;
给控制台程序点“颜色”瞧瞧    system(
"pause");  
给控制台程序点“颜色”瞧瞧
给控制台程序点“颜色”瞧瞧}

给控制台程序点“颜色”瞧瞧