В този урок ще ви покажа как да смените цвета на текста в конзолата.Този начин работи само при Windows.
#include <iostream>
#include <windows.h>
using namespace std;
Ще ни трябват няколко функции от WinAPI,затова ще използваме windows.h.
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE) ;
HANDLE представлява число,което идентифицира някакъв обект.В случая
функцията GetStdHandle връща handle от видеопаметта на конзолата.
За да сменим цвета,ще използваме SetConsoleTextAttribute:
BOOL SetConsoleTextAttribute(
HANDLE hConsoleOutput,
WORD wAttributes
);
Тя има два параметъра:
HANDLE hConsoleOutput-handle от видеобуфера,или в нашия случай-hOut.
WORD wAttributes-това е цвета на текста.Във WinAPI има няколко предварително определени стойности,които можете да използвате: FOREGROUND_BLUE,
FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY,
BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, BACKGROUND_INTENSITY
Ето и целия код:
#include <iostream>
#include <windows.h>
using namespace std;
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE) ;
int main()
{
WORD color = FOREGROUND_RED | BACKGROUND_GREEN ;
SetConsoleTextAttribute(hOut, color) ;
cout << "This is colored text!" ;
cin.get() ;
return 0;
}