17 - Färgad text

Färgad text

För att få lite liv i sina textbaserade program kan man lägga in färg, man behöver inte ändra färg på hela texten men man kan ta ut speciella tecken som är viktiga som man färgar t ex. Vi kommer använda oss utav funktioner som är specifika för windows i den här delen, och de kommer således inte fungera i alla sammanhang. Vill man använda ett mer robust sätt att färga text kan man ta en titt på ncurses.

  1.  
  2. #include<iostream>
  3. #include<windows.h>
  4.  
  5. using std::cout;
  6. using std::cin;
  7.  
  8. int main ()
  9. {
  10. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
  11. cout << "Hej!";
  12.  
  13. return 0;
  14. }


Vi har alltså inkluderat ett extra bibliotek för att färga texten, nämligen windows (andra raden). Sedan använder vi en låång rad för att färga texten, det är i slutet man får välja vilken färg man vill ha. Det finns fyra olika alternativ men man kan kombinera dem och på så sätt få fram 14 olika färger plus standardfärgen som är ljusgrå. Om man vill ha flera olika färger skriver man så här:

  1.  
  2. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);


Man skriver alltså en | som skiljetecken. Om man skriver just de här färgerna får man standardinställningen för console, alltså ljusgrå.
Här kommer en lista på alla färger man kan använda:




Innan du avslutar ditt program kan det ju vara bra att sätta tillbaka färgen till standard.
Jag kanske ska nämna att du kan byta ut FOREGROUND_F,,RG mot BACKGROUND_F,,RG för att byta färg på bakgrunden.

Källa: http://blinkenlights.se/