Цвет текста в консоли | c++

void ForegroundColor(COLORREF color)
{

    CONSOLE_SCREEN_BUFFER_INFOEX sbInfoEx;
    sbInfoEx.cbSize = sizeof(CONSOLE_SCREEN_BUFFER_INFOEX);

    HANDLE consoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfoEx(consoleOut, &sbInfoEx);

    COLORREF storedBG = sbInfoEx.ColorTable[0];


    //-- set BG color
    sbInfoEx.ColorTable[0] = color;
    SetConsoleScreenBufferInfoEx(consoleOut, &sbInfoEx);

}

У меня есть код, который устанавливает цвет фона в консоли..
Но я без понятия, как сделать так, чтобы он устанавливал сам цвет текста через RGB

(SetConsoleTextAttribute не предлагать)

Помогите, пожалуйста.


Ответы (1 шт):

Автор решения: Overloads
void ForegroundColor(int color1, int color2, int color3) {
    CONSOLE_SCREEN_BUFFER_INFOEX info;
    info.cbSize = sizeof(CONSOLE_SCREEN_BUFFER_INFOEX);

    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfoEx(hConsole, &info);

    info.ColorTable[0] = RGB(0, 0, 0);

    info.ColorTable[3] = RGB(color1, color2, color3);

    info.ColorTable[15] = RGB(0, 0, 0);

    SetConsoleScreenBufferInfoEx(hConsole, &info);

    SetConsoleTextAttribute(hConsole, 3);
}

Выше указанный код, вызываем в main ForegroundColor(int color1, int color2, int color3) , вместо color1, color2, color3 указываем номер RGB, на пример ForegroundColor(138, 226, 52); На этом всё, спасибо.

→ Ссылка