Промяната в цвета на конзолата (SI, Словения) - блог за програмиране и не само

Ние продължаваме да обърне внимание на пропуските в знанията на езика на С. Днес ще говорим за това как да промените цвета на фона и текста изхода на конзолата. За да промените фона и текста, като се използват различни методи, които сега се разглеждат.

Така че, за да се промени на заден план, ние ще използваме функцията на системата. който изпраща поредица от следния вид: "цвят . "Къде и - шестнадесетични цифри, - първият определя цвета на фона, а вторият - прозрачен цвят (цвят на шрифта).

  • 0 - черен
  • 1 - Blue
  • 2 - зелен
  • 3 - Blue
  • 4 - Червен
  • 5 - лилав
  • 6 - Жълт
  • 7 - Бяла
  • 8 - Сив
  • 9 - тесен синьо
  • А - светло зелено
  • Б - светло синьо
  • С - светло червено
  • E - светложълт
  • F - ярка бяла

Мисля, че с цвета на фона не е проблем, а след това да отидем по-нататък, нека да промените цвета на думи, символи, както и на фона зад тях. В този случай, действията ни са сходни - ние ще трябва да се обадя само една функция, въпреки че преди това ще трябва да включва windows.h заглавния файл, както и се справя с конзолата. За по-добро разбиране, помислете за цялата следваща обява.

Както можете да видите от списъка, текста и фона се променя SetConsoleTextAttribute извикване на функция, която се извършва по два параметъра: дръжката към конзолата и вида на изразяване (WORD) ((Background <<4) | Text )). где, как вы уже догадались, Background - цвет фона именно за теми символами, которые выводятся, а Text — цвет текста.

За разлика от първия случай на функцията на системата, параметрите Bacground и текст са числови, така че трябва да оцветите, които имат надпис, замяната им с еквиваленти. Например: А = 10, В = 11 и т.н.

За удобство, а не да запомня всички числа, които отговарят на цветовете, които можете да създадете списък, съдържащ всички цветове. След това можете просто да използвате името на цвета вместо съответните цифри.

Трябва да се отбележи, че ако трябва да промените цвета на фона, а след това трябва да се направи на първо място, защото ако го направите по друг начин, а след това всичко, което сте избрали функция SetConsoleTextAttribute ще има различен цвят, посочен в цветове.

Обява на работната програма

резултатите от програмата

навигация в публикациите