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

rezultatele programului

Mesaj de navigare