Перейти к содержимому

Как изменить цвет консоли в visual studio

  • автор:

Как изменить цвет для окна консоли c++

Внимание! Представленные ниже способы подходят только для Windows систем! Для Linux используйте библиотеку ncurses .

Можно менять цвет фона окна и символов без дополнительных библиотек, простой функцией system() . Достаточно написать, например, system(«color F0») и будет установлен белый фон (F) и чёрный текст (0). Можно писать и наоборот, например: system(«color 3F»); установит голубой фон и белый текст.

  • 0 — черный
  • 1 — синий
  • 2 — зеленый
  • 3 — голубой
  • 4 — красный
  • 5 — лиловый
  • 6 — желтый
  • 7 — белый
  • 8 — серый
  • 9 — свело-синий
  • A — светло-зеленый
  • B — светло-голубой
  • С — светло-красный
  • E — светло-желтый
  • F — ярко-белый

Можно использовать функцию SetConsoleTextAttribute() из Windows.h:

HANDLE h; h = GetStdHandle(STD_OUTPUT_HANDLE); //получаем наше окно, в котором нужно изменить цвет 

И установим жёлтый цвет на зелёном фоне:

SetConsoleTextAttribute(h, (((2  

Что же это за страшная функция? Если кратко: число смещается на 4 бита влево и объединяется со вторым в результате логического ИЛИ. Эти действия объединят числа, чтобы функция установила нужный цвет и фон. Если интересно, можно взять результат этих операций (в данном случае 46) и скормить их функции:

SetConsoleTextAttribute(h, 46); 

И вы получите такой же результат. Но настраивать гораздо удобнее по двум числа (первая отвечает за фон, вторая за текст).

Вот список цветов для этой функции:

  • Чёрный - 0
  • Синий - 1
  • Зелёный - 2
  • Голубой - 3
  • Красный - 4
  • Пурпурный - 5
  • Коричневый - 6
  • Светло-серый - 7
  • Тёмно-серый - 8
  • Светло-синий - 9
  • Светло-зелёный - 10
  • Светло-голубой - 11
  • Светло-красный- 12
  • Светло-пурпурный - 13
  • Жёлтый - 14
  • Белый - 15

примеры функций

Внимание! Функция system("color . ") устанавливает цвет для всей консоли и всех символов, а SetConsoleTextAttribute(); только для символов и той части консоли, которая находится под ними.

Возможно ли в консольной команде на c#, менять цвет символов находящихся в строке?

Здравствуйте, я знаю, что в консоли можно менять цвет текста и цвет за текстом.
Можно ли менять задний фон с черного на другой цвет.
И главный вопрос.
Есть строка
string stroka = "новая колбаса ла ла ла.."; Могу ли я в данной строке поменять цвет только у "ла ла", а все остальное оставить белым ? или у меня есть только один выход - это делить строку по определенным символам и уже потом менять цвет той строке где находится это слово ?

  • Вопрос задан более трёх лет назад
  • 13005 просмотров

1 комментарий

Оценить 1 комментарий

Anton @MoonMaster
можно воспользовать решением в лоб. "Ла ла" вывести в новой консоли и установить ему цвет
Решения вопроса 1
Студент-технарь
Если вам надо закрасить всю консоль одним цветом - используйте

Console.BackgroundColor = ConsoleColor.Green; // к примеру зеленый Console.Clear();

Но в таком случае весь выведенный в консоль текст пропадет.
Строку по цветам вывести нельзя. Можно лишь разбить на части, каждую из которых выводить своим цветом.
В Вашем случае как-то так

Console.Write("новая колбаса "); Console.ForegroundColor = ConsoleColor.Red; Console.Write("ла ла "); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("ла..");

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 2

alexsandr0000

Александр Тер @alexsandr0000
Программист C#/C++/C
Вот пример

Console.ForegroundColor = ConsoleColor.Red; Console.BackgroundColor = ConsoleColor.Yellow; Console.WriteLine("Вычисления c и s круга"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Yellow; Console.BackgroundColor = ConsoleColor.Black; Console.Write("Введите радиус > "); double r = Convert.ToDouble(Console.ReadLine()); //длина окружности: double c = 2 * Math.PI * r; //площадь круга: double s = Math.PI * r * r; //округляем значения: c = Math.Round(c, 2); s = Math.Round(s, 2); //печатаем результаты вычислений в консольном окне: Console.ForegroundColor = ConsoleColor.Green;

progtask.ru

Для изменения цвета подложки и шрифта используются свойста Console.BackgroundColor и Console.ForegroundColor соответственно.

Для того, чтобы скинуть цвета на стандартные, можно воспользоваться методом Console.ResetColor().

class Program < static void Main(string[] args) < Console.BackgroundColor = ConsoleColor.White; // устанавливаем белый цвет фона для текста Console.ForegroundColor = ConsoleColor.Red; // устанавливаем красный цвет шрифта Console.WriteLine("Строка 1"); // выводим строку Console.ResetColor(); // скидываем настройки цвета на стандартные Console.WriteLine("Строка 2"); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("Строка 3"); // устанавливаем синий цвет шрифта Console.ReadKey(); // ожидание нажатия любой кнопки >>

Цвет шрифта в консоли Clion

Меняю цвет шрифта в консоли с помощью следующей команды: std::cout«"\033[nm"; , где n - идентификатор цвета.
Выходит, что зеленый имеет а желтый - Очень важно, чтоб зеленый в консоли был сочным, а выходит, что он немногим отличается от желтого. Где можно поменять настройки отображения цвета или использовать другой способ (если да, то какой?).

P.S.: на Visual Studio, Code::Blocks - таких проблем не наблюдается.

d_ns
25.09.18 19:02:30 MSK

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *