更改 windows下控制台 输出的字体颜色(前景色、背景色)和输出位置(转载)

转载 2007年10月15日 16:44:00
#include <iostream>
#include <windows.h>
namespace wincsl
{
    using namespace std;

    enum clr{ FB = FOREGROUND_BLUE,
              FG = FOREGROUND_GREEN,
              FR = FOREGROUND_RED,
              FI = FOREGROUND_INTENSITY,
              BB = BACKGROUND_BLUE,
              BG = BACKGROUND_GREEN,
              BR = BACKGROUND_RED,
              BI = BACKGROUND_INTENSITY };

    class color
    {
    public:
        explicit color( WORD wAttributes = getcurrentvalue_() ) : wAttributes_(wAttributes)
        {
        }
        WORD getvalue( void ) const
        {
            return wAttributes_;
        }
    private:
        static WORD getcurrentvalue_( void )
        {
            CONSOLE_SCREEN_BUFFER_INFO csbi;
            ::GetConsoleScreenBufferInfo( ::GetStdHandle(STD_OUTPUT_HANDLE), &csbi );
            return csbi.wAttributes;
        }
        WORD wAttributes_;
    };
    const color setcolor( WORD wAttributes )
    {
        ::SetConsoleTextAttribute( ::GetStdHandle(STD_OUTPUT_HANDLE), wAttributes );
        return color(wAttributes);
    }
    const color setcolor( color clrAttributes )
    {
        return setcolor( clrAttributes.getvalue() );
    }
    ostream& operator<<( ostream& os, const color& wc )
    {
        return os;
    };
    istream& operator>>( istream& os, const color& wc )
    {
        return os;
    };

    class position
    {
    public:
        position( SHORT row, SHORT col ) : row_(row), col_(col)
        {
        }
        position( const position& pos = getcurrentvalue_() ) : row_(pos.row_), col_(pos.col_)
        {
        }
        SHORT getrow( void ) const
        {
            return row_;
        }
        SHORT getcol( void ) const
        {
            return col_;
        }
    private:
        static const position getcurrentvalue_( void )
        {
            CONSOLE_SCREEN_BUFFER_INFO csbi;
            ::GetConsoleScreenBufferInfo( ::GetStdHandle(STD_OUTPUT_HANDLE), &csbi );
            return position( csbi.dwCursorPosition.X, csbi.dwCursorPosition.Y );
        }
        SHORT row_, col_;
    };
    const position setpos( SHORT row, SHORT col )
    {
        COORD coord = { col, row };
        ::SetConsoleCursorPosition( ::GetStdHandle(STD_OUTPUT_HANDLE), coord );
        return position( row, col );
    }
    const position setpos( position pos )
    {
        return setpos( pos.getrow(), pos.getcol() );
    }
    ostream& operator<<( ostream& os, const position& wc )
    {
        return os;
    };
    istream& operator>>( istream& os, const position& wc )
    {
        return os;
    };
}

#include <string>
int main( void )
{
    using namespace std;
    using namespace wincsl;

    color oldcolor;

    cout << setpos(1,15) << setcolor(FB|BG) << "输入一段文字吧" << endl;

    string s;
    cin >> setpos(5,10) >> setcolor(FG|BB) >> s;
    position curpos;
    cout << setcolor(oldcolor) << "*这里是" << curpos.getrow() << "行" << curpos.getcol() << "列" << endl;

    setcolor( oldcolor );
}

 
 

eclipse设置背景颜色、字体和导出

eclipse设置背景颜色、字体和导出
  • chenyuangege
  • chenyuangege
  • 2017-06-16 10:23:37
  • 728

Eclipse详细设置护眼背景色和字体颜色并导出

Eclipse是一款码农们喜闻乐见的集成开发平台,但是其默认的主题和惨白的背景色实在是太刺激眼球了。下面,将给大家详细介绍如何设置成护眼主题的方法,也做个抛砖引玉,希望能有更多的主题出现在Eclips...
  • huluhong
  • huluhong
  • 2014-10-15 16:22:38
  • 9934

控制台程序设置背景色和前景色

#include #include bool SetConsoleColor(WORD forceGroundColor, WORD backGroundColor); bool SetConso...
  • wsl888444
  • wsl888444
  • 2012-12-12 11:29:15
  • 2534

eclipse修改控制台输入输出字体的颜色以及调节代码的字体大小

输入输出的颜色:鼠标移到控制台(console)右键,点击:Preferences...(最后一个)s...更改字体(代码+控制台)大小:Windows——&amp;gt;Preferences——&...
  • YUAN123ASD
  • YUAN123ASD
  • 2018-03-13 22:06:32
  • 33

改变控制台输入<em>字体颜色</em>

记事本实现<em>字体颜色</em>修改 立即下载 上传者: 誐吥媞廈桑椈 时间: 2013-12-30 综合评分: 0 积分/C币:3 <em>Eclipse</em>中<em>输出</em>带颜色的log4j日志信息 上传...
  • 2018年04月06日 00:00

C#控制台基础 设置控制台的字体色和背景色

       慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。设置控制台的背景色using System; using System.Collectio...
  • yushaopu
  • yushaopu
  • 2016-09-03 15:21:58
  • 909

C语言实现控制台输出背景颜色字体颜色变化

在大学第二次接触C语言这么课,想把学习中遇到的困惑和一些小技巧总结下来。   要实现控制台的输出背景颜色变化有两种方式,一种是system(“clolor **”),另外一种是使用windows AP...
  • u010166404
  • u010166404
  • 2015-04-10 14:54:56
  • 3835

Eclipse护眼背景及字体设置

Eclipse是一款码农们喜闻乐见的集成开发平台,但是其默认的主题和惨白的背景色实在是太刺激眼球了。下面,将给大家详细介绍如何设置成护眼主题的方法,也做个抛砖引玉,希望能有更多的主题出现在Eclips...
  • u012829611
  • u012829611
  • 2017-01-10 14:17:09
  • 379

如何在eclipse控制台打印红色字体

如何在eclipse控制台打印红色字体 System.err.println("红色");
  • gxlstone
  • gxlstone
  • 2014-05-14 11:22:59
  • 861

Python设置控制台输出文字的颜色

# 设置控制台输出字体颜色 # 格式:\033[显示方式;前景色;背景色m # 采用终端默认设置:\033[0m   # 红色字体 print('\033[1;31m') prin...
  • zhangtongyuan0909
  • zhangtongyuan0909
  • 2017-12-28 14:23:26
  • 463
收藏助手
不良信息举报
您举报文章:更改 windows下控制台 输出的字体颜色(前景色、背景色)和输出位置(转载)
举报原因:
原因补充:

(最多只允许输入30个字)