Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как покрасить консоль? Изменить цвет букв, фона... 
:(
    Опции темы
Politexnik
Дата 1.3.2008, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.3.2008
Где: Ереван, Армения

Репутация: нет
Всего: нет



Здравствуйте!
По С++ я еще новичок, но копаю что могу и где могу чтоб углубить знания.
И вот в одной книге мне попался пример, как писать в консольном приложении цветными буквами.
Для этого надо использовать функцию textcolor из "conio.h" . Но что то у меня не получается.
Мой Microsoft Visual C++ v.6.0 программу с textcolor не компилирует, говорит, что "textcolor is undeclared identifer"... То же самое с clrscr(), textbackground...
Не пойму почему.
Помогите пожалуйста разобраться!
PM MAIL   Вверх
Christoph
Дата 1.3.2008, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



на сколько я помню надо подключить библиотеку conio.h, graphics.h
И вроде надо ещё указать путь в дравам VGA, выбрать мод и т.д.


--------------------
user posted image
PM MAIL ICQ   Вверх
bsa
Дата 1.3.2008, 16:27 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Politexnik, эти примеры предназначены для старых компиляторов под ДОС от Borland (Borland C++ 3.1, например). Сейчас это все малоактуально, поэтому рекомендуется сменить книжку.

Добавлено через 3 минуты и 29 секунд
Кстати, Microsoft Visual C++ 6.0 - тоже устарел. Рекомендуется обновить на что-то более соответствующее стандарту:
http://www.microsoft.com/express/vc/ - Visual C++ 2008 Express Edition (бесплатный)
http://www.mingw.org - mingw (бесплатный) (IDE для него: http://www.codeblocks.org, http://www.eclipse.org )
PM   Вверх
nk19
Дата 1.3.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 21.1.2008

Репутация: нет
Всего: нет



В С++ не описывается как раскрашивать консоль. Это зависти от системы. Так в Windows'е надо использовать winapi, описания смотри в MSDN.
Вот маленький пример
Код

#include <iostream>
#include <iostream>
#include <windows.h> // WinApi header
using namespace std; // std::cout, std::cin
int main()
{
    HANDLE hConsole;
    int k;
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    // you can loop k higher to see more color choices
    for(k = 1; k < 255; k++)
    {
        // pick the colorattribute k you want
        SetConsoleTextAttribute(hConsole, k);
        cout << k << " I want to be nice today!" << endl;
    }
    cin.get(); // wait
    return 0;
}

PM MAIL   Вверх
Politexnik
Дата 2.3.2008, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.3.2008
Где: Ереван, Армения

Репутация: нет
Всего: нет



Цитата

Politexnik, эти примеры предназначены для старых компиляторов под ДОС от Borland (Borland C++ 3.1, например). Сейчас это все малоактуально, поэтому рекомендуется сменить книжку.

Добавлено через 3 минуты и 29 секунд
Кстати, Microsoft Visual C++ 6.0 - тоже устарел. Рекомендуется обновить на что-то более соответствующее стандарту:
http://www.microsoft.com/express/vc/ - Visual C++ 2008 Express Edition (бесплатный)
http://www.mingw.org - mingw (бесплатный) (IDE для него: http://www.codeblocks.org, http://www.eclipse.org )



Спасибо,поменял компилятор 
Цитата

В С++ не описывается как раскрашивать консоль. Это зависти от системы. Так в Windows'е надо использовать winapi, описания смотри в MSDN.
Вот маленький пример
Выделить всёкод C++
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
    
#include <iostream>
#include <iostream>
#include <windows.h> // WinApi header
using namespace std; // std::cout, std::cin
int main()
{
    HANDLE hConsole;
    int k;
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    // you can loop k higher to see more color choices
    for(k = 1; k < 255; k++)
    {
        // pick the colorattribute k you want
        SetConsoleTextAttribute(hConsole, k);
        cout << k << " I want to be nice today!" << endl;
    }
    cin.get(); // wait
    return 0;
}

Спасибо nk19, за работающий, красивый код.
Благодаря всем вам мой консоль начал гореть яркими красками.
PM MAIL   Вверх
dizel003
Дата 3.3.2008, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Незнаю правильно или нет напишу! Но я щас просто делаю Win приложения и менять цвета можно так!
При заполнении структуры wc типа WNDCLASS для описания класса главного окна!

вот пример изменения цыета экрана --
wc.hbrBackground=GetStockBrush (WHITE_BRUSH);// Белый фон окна
wc.hbrBackground=GetStockBrush (BLACK_BRUSH);// Чёрный фон окна
wc.hbrBackground=GetStockBrush (DKGRAY_BRUSH);//Тёмно-серыйфон окна
wc.hbrBackground=GetStockBrush (GRAY_BRUSH);// Серый фон окна
wc.hbrBackground=GetStockBrush (HOLLOW_BRUSH);// Прозрачный фон окна
wc.hbrBackground=GetStockBrush (LTGRAY_BRUSH);// Светло серый фон окна


Или можно написать вот так
wc.hbrBackground=GreateSolidBrush (RGB(0,255,255));//Меняеш цыфры меняется цвет


Такими же способами можно менять все что угодно у окна!

Это сообщение отредактировал(а) dizel003 - 3.3.2008, 12:02
PM MAIL   Вверх
Politexnik
Дата 3.3.2008, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.3.2008
Где: Ереван, Армения

Репутация: нет
Всего: нет



Спасибо, dizel003.
Хотя я еще и не очень разбираюсь в структурах и классах, но было полезно узнать.
Особенно заинтересовал меня 
wc.hbrBackground=GetStockBrush (HOLLOW_BRUSH);// Прозрачный фон окна
Будет выглядеть классно!!!
PM MAIL   Вверх
NiCketT
Дата 19.7.2008, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 10.9.2007

Репутация: нет
Всего: нет



Ну и как сделать консоль с прозрачным фоном?
PM MAIL   Вверх
NiCketT
Дата 19.7.2008, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 10.9.2007

Репутация: нет
Всего: нет



Код

//Hyper-console
#include <iostream.h>
#include <stdlib.h>
#include <windows.h> // WinApi header

int main()
{
      HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
      for(unsigned c1=0; c1<=0xF; c1++)
        for(unsigned c2=0; c2<=0xF; c2++){
          unsigned color=c2+(c1<<4);
          SetConsoleTextAttribute(hConsole, color);
          cout<<"bgColor: "<<c1<<" textColor: "<<c2<<"      Color: "<<hex<<color<<endl;
       };

      system("PAUSE");
      return 0;
}

PM MAIL   Вверх
graff9
Дата 5.7.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 28.6.2009

Репутация: 1
Всего: 1



Цитата

И вот в одной книге мне попался пример, как писать в консольном приложении цветными буквами.

system("color 0A"); 
первое значение - цвет фона
второе - цвет букв
PM MAIL   Вверх
xvr
Дата 6.7.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Мужики этих тайных знаний целый год ждали!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0521 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.