Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;Windows控制台调色板_C++_Winapi_Colors_Console - Fatal编程技术网

C++ C++;Windows控制台调色板

C++ C++;Windows控制台调色板,c++,winapi,colors,console,C++,Winapi,Colors,Console,我正在为一个类制作一个类似于基本AAlib的控制台应用程序。我正在使用win32控制台。我希望有更多的颜色可以搭配。在控制台的“属性”菜单中有一个调色板,为前景和背景提供24位颜色。有没有办法用代码访问这个调色板 我能想到的唯一一件事是在HKEY_CURRENT_USER\控制台中为每个字符着色调用重新定义调色板[n] 或者,如果有人知道打印到窗口类的方法,比如终端(每个字符可以有背景色,而不是填充色),也可以使用。只能使用16种不同的颜色。您可以使用SetConsoleScreenBuffer

我正在为一个类制作一个类似于基本AAlib的控制台应用程序。我正在使用win32控制台。我希望有更多的颜色可以搭配。在控制台的“属性”菜单中有一个调色板,为前景和背景提供24位颜色。有没有办法用代码访问这个调色板

我能想到的唯一一件事是在HKEY_CURRENT_USER\控制台中为每个字符着色调用重新定义调色板[n]


或者,如果有人知道打印到窗口类的方法,比如终端(每个字符可以有背景色,而不是填充色),也可以使用。

只能使用16种不同的颜色。您可以使用SetConsoleScreenBufferInfoEx()更改调色板。显然,您已经准备好离开20世纪70年代终端I/O模型的局限,转而创建真正的窗口。使用1600万种不同的颜色和打印当然不是问题。没错,我想我可以通过更改注册表中的颜色来解决这个问题,但每次都会重置所有以前打印的颜色的显示方式。