21xrx.com
2024-11-22 09:49:26 Friday
登录
文章检索 我的文章 写文章
C++如何修改字体颜色?
2023-07-05 04:34:46 深夜i     --     --
C++ 修改 字体颜色

在C++编程中,有时候我们需要修改控制台窗口中的字体颜色,以便更好地展示程序的运行结果。下面介绍几种常见的修改字体颜色的方法。

方法一:使用Windows的API函数

Windows提供了一系列API函数,可以用来修改控制台窗口中的字体颜色。这些API函数包括SetConsoleTextAttribute、GetConsoleScreenBufferInfo等。通过调用这些函数,我们可以轻松地修改字体颜色。下面是一段使用SetConsoleTextAttribute函数修改字体颜色的示例代码:


#include <Windows.h>

#include <iostream>

using namespace std;

int main() {

  HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

  SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_INTENSITY);

  cout << "This text is red!" << endl;

  SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_INTENSITY);

  cout << "This text is green!" << endl;

  SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);

  cout << "This text is blue!" << endl;

  return 0;

}

运行结果如下图所示:

![image-20211209170129182](https://i.loli.net/2021/12/09/qBRuvIP41sJLNlV.png)

在上面的代码中,我们先获取了控制台窗口的句柄,然后使用SetConsoleTextAttribute函数修改字体颜色。SetConsoleTextAttribute函数的第一个参数是控制台窗口的句柄,第二个参数是需要设置的字体颜色。这里我们使用了位运算符将多个颜色值进行了组合。

方法二:使用控制台命令

除了在程序中通过API函数修改字体颜色以外,我们还可以使用控制台命令来修改字体颜色。通过cmd窗口或者PowerShell窗口,我们可以使用如下命令:


color [background][foreground]

其中,background和foreground是颜色的16进制表示,具体取值可以参考下面的表格:

| 值  | 颜色 |

| :---: | :---: |

| 0  | 黑色 |

| 1  | 蓝色 |

| 2  | 绿色 |

| 3  | 浅绿色 |

| 4  | 红色 |

| 5  | 紫色 |

| 6  | 黄色 |

| 7  | 白色 |

| 8  | 灰色 |

| 9  | 深蓝色 |

| A  | 深绿色 |

| B  | 淡蓝色 |

| C  | 深红色 |

| D  | 深紫色 |

| E  | 淡黄色 |

| F  | 亮白色 |

例如,下面的命令可以将控制台窗口的背景色设置为深蓝色,字体颜色设置为红色:


color 41

运行结果如下图所示:

![image-20211209170404556](https://i.loli.net/2021/12/09/2KueEkJiVWjxLIY.png)

总结

在C++编程中,修改控制台窗口中的字体颜色是一项基本的操作。无论是通过API函数还是控制台命令,都可以很便捷地实现这个目标。需要注意的是,在实际的开发中,应该尽可能选择应用API函数的方式,以获得更精确的控制。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复