改变控制台的文字背景颜色

/*      ConsoleColor.H


 relevant windows API

1、 GetConsoleScreenBufferInfo(HANDLE handle , PCONSOLE_SCREEN_BUFFER_INFO pCsbi);
获得consoleScreenBuffer的信息存在pcsbi指向的空间中。

2、 SetConsoleTextAttribute(HANDLE handle , WORD attribute);
 设置控制consoleScreen颜色信息的变量wattribute为attribute值。



附:
1、CONSOLE_SCREEN_BUFFER_INFO中的wattribute属性是用来存储控制台的字体和背景颜色的,wattribute的最后4位存储文字颜色,倒退4位存储背景色
2、handle可用 GetStdHandle(STD_OUTPUT_HANDLE)来求得。
*/

#ifndef _CONSOLE_COLOR
#define _CONSOLE_COLOR


#ifndef _INC_WINDOWS
#include <WINDOWS.H>
#endif



enum concol
{
		black=0,
		dark_blue=1,
		dark_green=2,
		dark_aqua,dark_cyan=3,
		dark_red=4,
		dark_purple=5,dark_pink=5,dark_magenta=5,
		dark_yellow=6,
		dark_white=7,
		gray=8,
		blue=9,
		green=10,
		aqua=11,cyan=11,
		red=12,
		purple=13,pink=13,magenta=13,
		yellow=14,
		white=15,
		DEFAULT_TEXT=7,
		DEFAULT_BACK=0
};


#define console_output_handle (GetStdHandle(STD_OUTPUT_HANDLE))

concol getConsoleScreenBackColor();
concol getConsoleScreenTextColor();
void setConsoleScreenBackColor(concol back);
void setConsoleScreenTextColor(concol text);
void setConsoleScreenColor(concol text, concol back);






concol getConsoleScreenBackColor()
{
	CONSOLE_SCREEN_BUFFER_INFO csbi;
	GetConsoleScreenBufferInfo(console_output_handle , &csbi);
	return (concol)(csbi.wAttributes/16%16);
}



concol getConsoleScreenTextColor()
{
	CONSOLE_SCREEN_BUFFER_INFO csbi;
	GetConsoleScreenBufferInfo(console_output_handle , &csbi);
	return (concol)(csbi.wAttributes%16);
}



void setConsoleScreenBackColor(concol back)
{
	unsigned short attribute=(back<<4) | getConsoleScreenTextColor();
	SetConsoleTextAttribute(console_output_handle,attribute);
}



void setConsoleScreenTextColor(concol text)
{
	unsigned short attribute=(getConsoleScreenBackColor()<<4) | text;
	SetConsoleTextAttribute(console_output_handle,attribute);
}



void setConsoleScreenColor(concol text , concol back)
{
	unsigned short attribute=back<<4 |text;
	SetConsoleTextAttribute(console_output_handle,attribute);
}




ostream& operator<<(ostream& os, concol text)
{
	unsigned attribute=(getConsoleScreenBackColor()<<4) | text;
	SetConsoleTextAttribute(console_output_handle,attribute);
	return os;
}



istream& operator>>(istream& is, concol text)
{
	unsigned attribute=(getConsoleScreenBackColor()<<4) | text;
	SetConsoleTextAttribute(console_output_handle,attribute);
	return is;
}


#endif


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在IDEA中更换控制台字体背景颜色,可以按照以下步骤进行操作: 1. 打开IDEA,点击菜单栏的"File",然后选择"Settings"。 2. 在弹出的窗口中,选择"Editor",然后选择"Color Scheme"。 3. 在右侧的选项卡中,选择"Console Colors"。 4. 在"Console Colors"选项卡中,可以修改控制台的字体颜色和背景颜色。点击相应的选项,然后选择你喜欢的颜色。 5. 修改完成后,点击"Apply"或"OK"保存更改。 请注意,如果你使用的是外部下载的主题字体,可能无法直接在这里修改。你可以尝试在当前配色方案下进行修改,具体操作是:点击"Settings",然后选择"Editor",再选择"Color Scheme",最后在"Color Scheme Font"中进行修改。\[2\] 另外,如果你想更换整个IDEA的主题,你可以直接到一些网站上下载自己喜欢的主题,然后导入到IDEA中。这样,代码编辑器和控制台的字体颜色和背景就会发生改变。如果对某些字体颜色配色方案不满意,你还可以在IDEA中进行进一步的修改。\[3\] #### 引用[.reference_title] - *1* *2* [idea设置主题+恢复主题默认设置+设置选中代码颜色+关键字颜色+设置字体大小、样式、颜色+设置背景颜色、...](https://blog.csdn.net/qq_24990383/article/details/126166862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [IDEA优化配置(6)--- 炫酷的主题字体颜色设置(基于Intellij IDEA 2018)](https://blog.csdn.net/chenchunlin526/article/details/86243508)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值