Schimbarea culorii din consola (si, si) - un blog despre programare și nu numai
Vom continua să abordeze lacunele în cunoașterea limbii C. Astăzi voi vorbi despre modul de a schimba culoarea de fundal și de ieșire de text în consolă. Pentru a schimba fundalul și text folosind diferite metode, care sunt considerate acum.
Deci, pentru a schimba fundalul, vom folosi funcția de sistem. care va transmite un șir de forma următoare: „culoare „În cazul în care. și - cifre hex - primul seteaza culoarea de fundal, iar al doilea - culoarea prim-plan (culoarea fontului).
- 0 - negru
- 1 - Albastru
- 2 - verde
- 3 - Albastru
- 4 - Rosu
- 5 - violet
- 6 - galben
- 7 - Alb
- 8 - Gri
- 9 - albastru înghesuit
- A - verde deschis
- B - albastru deschis
- C - roșu deschis
- E - galben deschis
- F - alb strălucitor
Cred că, cu culoare de fundal nici o problema, atunci vom merge mai departe, să se schimbe culoarea de cuvinte, simboluri, precum și fundalul din spatele lor. În acest caz, acțiunile noastre sunt similare - vom avea de a apela doar o singură funcție, cu toate că înainte de aceasta va trebui să includă windows.h fișierul antet, precum și a obține un mâner la consola. Pentru o mai bună înțelegere, ia în considerare toate următoarea înregistrare.
Dupa cum se poate vedea din listă, text și culoarea de fundal modificările SetConsoleTextAttribute apelarea unei funcții care are doi parametri: mânerul la consolă și tipul de exprimare (WORD) ((Context <<4) | Text )). где, как вы уже догадались, Background - цвет фона именно за теми символами, которые выводятся, а Text — цвет текста.
Spre deosebire de primul caz al funcției sistemului, parametrii bacground și text sunt numerice, deci trebuie să culoare, care au litere, înlocuindu-le cu echivalenți. De exemplu: A = 10, B = 11, etc.
Pentru comoditate, și nu să memoreze toate numerele care corespund culorilor, puteți crea o listă care conține toate culorile. Apoi, puteți utiliza doar numele culorii în locul numerelor corespunzătoare.
Trebuie remarcat faptul că, dacă aveți nevoie pentru a schimba culoarea de fundal, atunci ar trebui să se facă în primul rând, pentru că dacă faci altfel, atunci tot ce ați selectat SetConsoleTextAttribute funcția va avea o culoare diferită set în culori.
Listarea programului de lucru