C++ 如何获取命令行文本的颜色属性
我把一个游戏制作成命令行游戏,不要杀我,我添加了一些东西来检查命令行文本的颜色,然后用我想要的任何bg颜色求和bg颜色是颜色*16来创建一个粗糙的指向系统 问题是:我如何从一个有选择的文本网格中获取一个字符,然后读取它的颜色,该颜色用于给该字符提供与其他字符不同的背景C++ 如何获取命令行文本的颜色属性,c++,windows,winapi,C++,Windows,Winapi,我把一个游戏制作成命令行游戏,不要杀我,我添加了一些东西来检查命令行文本的颜色,然后用我想要的任何bg颜色求和bg颜色是颜色*16来创建一个粗糙的指向系统 问题是:我如何从一个有选择的文本网格中获取一个字符,然后读取它的颜色,该颜色用于给该字符提供与其他字符不同的背景 #include <iostream> #include <windows.h> enum Color { DARKBLUE = 1, DARKGREEN, DARKTEAL, DARKRED,
#include <iostream>
#include <windows.h>
enum Color { DARKBLUE = 1, DARKGREEN, DARKTEAL, DARKRED,
DARKPINK, DARKYELLOW, GRAY, DARKGRAY, BLUE,
GREEN, TEAL, RED, PINK, YELLOW, WHITE};
void SetColor(int c){
HANDLE hCon = NULL;
if (hCon == NULL){
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon, c);
}
}
void AdvSetColor(Color back,Color fore){
int c;
c = back * 16 + fore;
SetColor(c);
}
char sometext[10][10] ={
{"Lorem ipsum"},
{"dolor sit am"},
{"et, consect"},
{"etur adipis"},
{"icing elit,"},
{"sed do eiusm"},
{"od tempor inc"},
{"ididunt ut l"},
{"abore et dol"},
{"ore magna al"}, //highlight all the words that are broken inbetween the sets
}
你能用一个简短的例子来说明问题,而不是发布你的整个程序吗?你忘了问一个问题。我想你可能能做到。令人恼火的是,你必须玩旗子才能得到你的颜色。还有一个版本。ReadConsoleOutput允许您从屏幕上的特定点读取字符和属性信息。尽管更好的解决方案是从程序中跟踪此状态。从屏幕上阅读通常是个坏主意,因为用户可能会弄乱屏幕,或者其他程序可能会打印到屏幕上。