Kolory w konsoli

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 14764 razy

W Windowsie istnieje możliwość zmiany koloru tekstu oraz tła tekstu. Niestety większość tych kolorów jest mocno nieprzyjemna dla oka, ale cóż poradzić. Oto kod małego programu, który pokazuje mechanizm ustawiania kolorów:

#include <iostream> #include <windows.h> using namespace std; // Kody pierwszych 16-stu kolorów tekstu: // 1 czarny tekst na czarnym tle // 1 ciemno niebieski tekst na czarnym tle // 2 ciemno zielony tekst na czarnym tle // 3 zielono-niebieski tekst na czarnym tle // 4 ciemno czerwony tekst na czarnym tle // 5 magenta ciemna tekst na czarnym tle // 6 oliwkowy tekst na czarnym tle // 7 jasny szary tekst na czarnym tle // 8 szary tekst na czarnym tle // 9 niebieski tekst na czarnym tle // 10 zielony tekst na czarnym tle // 11 jasno niebieski tekst na czarnym tle // 12 czerwony tekst na czarnym tle // 13 magenta tekst na czarnym tle // 14 żółty tekst na czarnym tle // 15 biały tekst na czarnym tle // 16 czarny na ciemno niebieskim tle int main(){ setlocale(LC_CTYPE, "Polish"); cout<<"Kolory konsoli uzyskiwane za pomocą funkcji SetConsoleTextAttribute"<<endl<<endl; for(int i = 0; i < 256; i++){ SetConsoleTextAttribute( // ta funkcja ustawia kolor tekstu i tła GetStdHandle(STD_OUTPUT_HANDLE), // pobieranie standardowego uchwytu wyjścia konsoli i // kod koloru (dotyczy koloru tła jak i tekstu ); cout<<"Kolor dla wartości: "<<i<<endl; } SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); cout<<endl<<"Wciśnij enter, aby zamknąć program..."; cin.get(); }

Wartości od 0 do 15 oznaczają tekst z czarnym podświetleniem i zmieniającym się kolorem tekstu (opis w powyższym kodzie programu). Po przekroczeniu wartości 15 otrzymywane będą kombinacje kolorów tła i kolorów tekstu w sekwencjach po 16 elementów dla każdego koloru tła.

Propozycje książek