|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2009
Messaggi: 3
|
[C++] Un aiuto veloce
[RIFACCIO IL POST PERCHE' MEL AVEVANO CHIUSO
]Colorare una parte di stringhe. Come posso far apparire le scritte del mio programma colorate? Intendo in una finestra cmd. Uhm... Nella calcolatrice che ha fatto uno, ho visto questi codici e ho provato ad usarli... Codice:
#include <windows.h>
#include <iostream.h>
#include <conio.h>
system("color 0C");
std::cout <<"ciao";
Codice:
0 = nero A=Verde limone
1=Blu scuro B=Azzurro
2=Verde C=Rosso
3=Verde Acqua D=Fucsia
4=Bordeaux E=Giallo
5=Viola F=Bianco
6=Verde Oliva
7=Grigio chiaro
8=Grigio
9=Blu
Ma se lo combi piu avanti lo imposta per tutti... E a me serve cambiare il colore di stringhe separate. esempio: SYSTEM > Comando |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Codice:
#include <iostream>
#include "windows.h"
using namespace std;
int main()
{
HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO info;
GetConsoleScreenBufferInfo(console, &info); //Salvo i valori iniziali in info
cout << "Testo non colorato " << endl;
SetConsoleTextAttribute(console, FOREGROUND_RED);
cout << "Testo rosso" << endl;
SetConsoleTextAttribute(console, FOREGROUND_RED | FOREGROUND_INTENSITY);
cout << "Testo rosso chiaro" << endl;
SetConsoleTextAttribute(console, FOREGROUND_BLUE | BACKGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_INTENSITY);
cout << "Testo blu chiaro a sfondo verde chiaro " << endl;
SetConsoleTextAttribute(console, info.wAttributes); //Ritorno ai valori iniziali
return 0;
}
I valori FOREGORUND_INTENSITY e BACKROUND_INTENSITY rendono il testo più chiaro. Per combinare i valori e creare colori diversi basta che usi l'operatore | nella chiamata a SetConsoleTextAttribute. Per esempio se vuoi del testo viola devi usare Codice:
SetConsoleTextAttribute(console, FOREGROUND_RED | FOREGROUND_BLUE); Ovviamente funziona solo usando Windows. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:23.










]








