更改C++的背景颜色
Changing background color in C++
如何在不进入 turbo C++ 图形模式的情况下更改输出屏幕的背景颜色。我在Windows xp中使用涡轮增压C++。任何帮助将不胜感激。
这里有一些我有一段时间没有使用的旧代码了。不客气...
enum {White, Blue, Green, Red, Yellow, Cyan, Magenta, Black,
Grey, DarkBlue, DarkGreen, DarkRed, DarkYellow, DarkCyan, DarkMagenta};
void ISC_Console::SetColor(int nForeground, int nBackground)
{
::SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE),
MakeFColor(nForeground) | MakeBColor(nBackground));
}
int ISC_Console::MakeFColor(int nColor)
{
int nVal = 0;
switch (nColor) {
case Grey:
case White:
nVal = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE;
break;
case Red:
case DarkRed:
nVal = FOREGROUND_RED;
break;
case Green:
case DarkGreen:
nVal = FOREGROUND_GREEN;
break;
case Blue:
case DarkBlue:
nVal = FOREGROUND_BLUE;
break;
case Yellow:
case DarkYellow:
nVal = FOREGROUND_RED | FOREGROUND_GREEN;
break;
case Cyan:
case DarkCyan:
nVal = FOREGROUND_GREEN | FOREGROUND_BLUE;
break;
case Magenta:
case DarkMagenta:
nVal = FOREGROUND_RED | FOREGROUND_BLUE;
break;
}
if (nColor < Black) nVal |= FOREGROUND_INTENSITY;
return nVal;
}
int ISC_Console::MakeBColor(int nColor)
{
int nVal = 0;
switch (nColor) {
case Grey:
case White:
nVal = BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE;
break;
case Red:
case DarkRed:
nVal = BACKGROUND_RED;
break;
case Green:
case DarkGreen:
nVal = BACKGROUND_GREEN;
break;
case Blue:
case DarkBlue:
nVal = BACKGROUND_BLUE;
break;
case Yellow:
case DarkYellow:
nVal = BACKGROUND_RED | BACKGROUND_GREEN;
break;
case Cyan:
case DarkCyan:
nVal = BACKGROUND_GREEN | BACKGROUND_BLUE;
break;
case Magenta:
case DarkMagenta:
nVal = BACKGROUND_RED | BACKGROUND_BLUE;
break;
}
if (nColor < Black) nVal |= BACKGROUND_INTENSITY;
return nVal;
}
我认为您希望在输出文本时更改输出屏幕的背景。你只需要包含conio.h头文件并使用内置函数textbackground(COLOR)。
这个来自TC帮助...
#include <conio.h>
int main(void)
{
int i, j;
clrscr();
for (i=0; i<9; i++)
{
for (j=0; j<80; j++)
cprintf("C");
cprintf("rn");
textcolor(i+1);
textbackground(i);
}
return 0;
}
textbackground()
可以更改文本模式控制台的背景。
相关文章:
- 在特定时间内更改 QLabel 的背景颜色
- 更改包含 QButton 的 Qlayout 的背景颜色
- 如何为使用创建窗口创建的窗口创建自定义背景颜色
- 我正在尝试更改背景的颜色,但它不起作用
- MFC 更改 CListCtrl 背景颜色
- 如何仅设置 QTabWidget 背景颜色样式表
- 为什么不能使用 setData() 在 QTreeView 中设置单元格的背景颜色?
- 在另一个小部件中更改QWidget的背景颜色
- 同一图像中的反转文本和背景颜色
- 使用winapi使用按钮更改窗口的背景颜色
- 当在QTableView上丢失焦点时,失去背景颜色
- 当鼠标越过按钮时,我可以更改按钮背景颜色吗?
- 在加载页面时,如何为iwebbrowser2设置背景颜色
- 更改子分类Cstatic控制的背景颜色
- 使用 DirectX 11 插值背景颜色?
- 如何将控制台输出的文本颜色更改为红色,但如果从Powershell或CMD运行,背景将保持相同的颜色
- 10'000 行后控制台中的 C++ 背景颜色错误
- 如何设置按钮的背景颜色,包括复选框按钮
- 更改控制台应用的背景颜色C++
- 方法,允许我更改QwtPlot颜色背景