Помогни ни да направим Uroci.net по - богат! Добави урок

Как да пишем цветно

C++ » C++
BlueForever   трудност:    видян: 15932

В този урок ще ви покажа как да смените цвета на текста в конзолата.Този начин работи само при Windows.

 

#include <iostream>
#include <windows.h>

using namespace std;

 

Ще ни трябват няколко функции от WinAPI,затова ще използваме windows.h.

 

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE) ;

 

HANDLE представлява число,което идентифицира някакъв обект.В случая функцията GetStdHandle връща handle от видеопаметта на конзолата.
За да сменим цвета,ще използваме SetConsoleTextAttribute:  

 

BOOL SetConsoleTextAttribute(

    HANDLE hConsoleOutput,
    WORD wAttributes
);


Тя има два параметъра:
HANDLE hConsoleOutput-handle от видеобуфера,или в нашия случай-hOut.
WORD wAttributes-това е цвета на текста.Във WinAPI има няколко предварително определени стойности,които можете да използвате: FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, BACKGROUND_INTENSITY

Ето и целия код:

 

#include <iostream>
#include <windows.h>

using namespace std;

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE) ;
int main()
{
    WORD color = FOREGROUND_RED | BACKGROUND_GREEN ;
    SetConsoleTextAttribute(hOut, color) ;
    cout << "This is colored text!" ;

    cin.get() ;
    return 0;
}

 



Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: IT Новини