C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Как вывести текст в консольном приложении различными цветами? / Консоль / Приложение

Как вывести текст в консольном приложении различными цветами?

Каждый символ сонсольного приложения имеет свои аттрибуты, и Win32 консольные функции могут работать с аттрибутами двумя способами. SetConsoleTextAttribute() работает с символами, записанными в буфере, в то время как FillConsoleOutputAttribute() напрямую изменяет атрибуты символов.

Следующие функции можно использовать для нормального, жирного и обратного текста (предполагается, что класс имеет обработчик консоли через вызов GetStdHandle()):

void CMyConsoleClass::SetTextNormal()
{
    // белым на чёрном - по умолчанию
    SetConsoleTextAttribute ( m_hConsole,
                              FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE );
}

void CMyConsoleClass::SetTextBold()
{
    // ярко-белым на чёрном
    SetConsoleTextAttribute ( m_hConsole,
                              FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE |
                                FOREGROUND_INTENSITY );
}

void CMyConsoleClass::SetTextReverse()
{
    // чёрным на белом
   SetConsoleTextAttribute ( m_hConsole, 
                             BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE );
}

Обратите внимание, что нет никаких установок для мерцания и подчёркивания, так что Вам прийдётся проявить немного изобратательности, если Вы хотите полностью съэмулировать текстовые режимы ANSI или VT100 данным методом.