Programování v jazyce C - Barvy textu
Dnes si ukážeme, jak si "vyzdobit" naší aplikaci barvami textů.
Co budeme potřebovat?
Určitě nějakou knihovnu a právě proto si includneme hlavičkový soubor windows.h.
#include <windows.h>
Uděláme si funkci barvy.
void barvy(void);
Dále už k tvoření samotné funkce. Jak už jsem říkal, musíme mít naincludovaný hlavičkový soubor windows.h. Ukázka funkce.:
void barvy(void) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN); }
FOREGROUND_INTENSITY je vlastně takové zesvětlení, FOREGROUND_GREEN je samozřejmě barva zelená. Nyní bude barva výrazně zelená skoro jako v matrixu. ^^ Pokud FG intensity dáme pryč vznikne nám barva tmavě zelená.
void barvy(void) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN); // tmavě zelená }
A takto jdou míchat různé barvy například.:
void barvy(void) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); // bílá }
void barvy(void) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0); // černá }
A do kódu budeme psát už jen barvy();. Také můžeme dát všechny barvy do switche a tím získat funkci s proměnnou a nemusíme na každou barvu psát novou funkci.
void barvy(int); void barvy(int barvy) { switch(barvy) { case 1: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0);//černá break; case 2: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); // bílá break; } }
Nyní už můžeme psát do kódu následovně.:
barvy(1); printf("black"); barvy(2); printf("white");
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 403x (1.38 kB)
Aplikace je včetně zdrojových kódů v jazyce C