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

Как изменить цвет консоли в 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 = "новая колбаса ла ла ла.."; Могу ли я в данной строке поменять цвет только у "ла ла", а все остальное оставить белым ? или у меня есть только один выход - это делить строку по определенным символам и уже потом менять цвет той строке где находится это слово ?

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

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;

Цвет фона консоли с++

Подскажите пожалуйста как поменять цвет фона в консоли, чтобы вместо чорного экрана сделать что-то повеселее?

Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Цвет шрифта и фона в консоли.
Знаю, это тема уже обсуждалась, но я новичок в программировании и ничего в предложенном ранее коде.

Задать цвет шрифта/фона консоли
Цвет задается перечислением ConsoleColor, а как можно иначе? например цыфирькой во всем диапазоне.

Цвет фона строки
Можно как-то сделать, чтоб при выводе строки в Borland C++ 3.1 у строки был фон например черного.

Выбор цвета шрифта и фона консоли
Всем привет, нужно сделать так чтобы можно было выбрать цвет шрифта и цвет консоли. У меня.

быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,666

Лучший ответ

Сообщение было отмечено как решение

Решение

В свойствах консоли посмотри.
Или вот.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#include #include using namespace std; enum ConsoleColor { Black = 0, Blue = 1, Green = 2, Cyan = 3, Red = 4, Magenta = 5, Brown = 6, LightGray = 7, DarkGray = 8, LightBlue = 9, LightGreen = 10, LightCyan = 11, LightRed = 12, LightMagenta = 13, Yellow = 14, White = 15 }; // устанавливает цвет текста и подложки в консоли void SetColor(int text, int background)  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdOut, (WORD)((background  4)  // устанавливает цвет текста и подложки в консоли void SetColor(int text, ConsoleColor/*int*/ background)  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdOut, (WORD)((background  4)  int main() { for (int i = 0; i  15; i++) { for (int j = 0; j  15; j++) { SetColor( i, Red); cout  " Hello. "; SetColor( 15, j); cout  " ["  i  "]["  j  "]\n"; } } system("PAUSE"); return 0; }

Регистрация: 12.09.2009
Сообщений: 25

Лучший ответ

Сообщение было отмечено как решение

Решение

Спасибо за ответ, но это немного не то что я искала.
Здесь фон меняеться только под буквами..а я хочу чтобы весь экран был однотонным и не черным.
Поскажите, пожалуйста, как сделать это.

Добавлено через 23 минуты
Оказалось все очень просто..
В глобальной области пишем строчку

const int NotUsed = system( "color 20" );

2 - значение цвета фона, 0 - значение цвета текста

Расшифровка цветов:
0 = Black 8 = Gray
1 = Blue 9 = Light Blue
2 = Green A = Light Green
3 = Aqua B = Light Aqua
4 = Red C = Light Red
5 = Purple D = Light Purple
6 = Yellow E = Light Yellow
7 = White F = Bright White

Можно ли изменить цвет консоли в Visual Studio?) И как это сделать?

P.S. Ссылку на System.Drawing задаем через меню: "Проект" --> "Добавить ссылку. " --> System.Drawing
P.P.S Первый раз в жизни попробовал работать с консолью. Какая гадость!

Остальные ответы

namespace ConsoleApplication1
<
class Program
<
static void Main(string[] args)
<
Console.BackgroundColor = ConsoleColor.Red;
Console.Clear();
Console.ReadKey();
>
>
>
На C#.

правой кнопкой мыши на окно отладки

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

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