SetConsoleTextAttribute

SetConsoleTextAttribute

我只想更改控制台应用程序的前景色文本,而不是背景文本颜色或控制台背景颜色。换句话说:我想保留以前的颜色,除了前景色以外。

目前,我使用下面的代码,但文本下的背景也发生了变化。

#include <windows.h>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
    cout << "green?" << endl;
    cin.ignore();
    return 0;
}

最佳答案

还要设置背景颜色(否则它将变为黑色)
例如:
绿色在红色背景上书写(注意:使用按位OR运算符|)

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | BACKGROUND_RED);

10-08 08:29