使用rgb为控制台窗口着色

时间:2013-11-23 22:47:51

标签: c++ visual-studio-2008

我是C ++的新手。我正在寻找新功能,我发现windows.h功能很有趣但很难!我使用SetConsoleTextAttribute(Get---------, **value**)*;

代替**值**我正在为固定的颜色设置0-15的明确颜色值,这很无聊;我听说过色调和颜色组合为rbg。我可以在上面的命令中使用它吗?如果没有,那么如何开始使用这些颜色?专门针对Visual Studio 2008.

1 个答案:

答案 0 :(得分:0)

SetConsoleTextAttribute仅适用于16位颜色,只有一些预定义属性,您可以看到here。当然,您可以混合使用这些属性,但不能将RGB颜色空间用于此功能。

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

如果您希望使用RGB色彩空间,则应使用 SetConsoleScreenBufferInfoEx 功能。 CONSOLE_SCREEN_BUFFER_INFOEX结构具有名为ColorTable的属性,该属性是COLORREF类型的数组。使用可以使用RGB宏,该宏也在标准Windows标题中定义,以创建RGB颜色。请注意,此功能仅适用于Windows Vista / Windows Server 2008或更高版本。