Changer de couleur

Signaler
Messages postés
83
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
10 mars 2006
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Je travaille avec la console et j'aimerais savoir si c'est possible de changer la couleur d'un texte qui est déjà affiché.

merci d'avance.

5 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Sous Windows: SetConsoleTextAttribute
Messages postés
83
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
10 mars 2006

j'ai testé mais ça marche pas.

Le premier paramètre est le handle de la fenêtre et le deuxième représente la couleur par exemple : FOREGROUND_RED ou BACKGROUND_GREEN.

C'est bien ça ?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Pour le premier param: GetStdHandle(STD_OUTPUT_HANDLE) devrait aller
Messages postés
83
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
10 mars 2006

La ça marche.

Comment ça se fait que ça ne marche pas avec GetConsoleWindow() ?

Mais en fait ce que je voudrais faire, c'est changer les couleurs de ce qui est déjà affiché, hors la ça change la couleur de ce qui va être tapé.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
GetConsoleWindow te donne la fenêtre.
Ce n'est pas fenêtre qu'il te faut mais un "Handle to a console screen buffer" comme le dis MSDN, c'est a dire le truc dans lequel tu écris, qui n'a rien a voir avec un HWND.

Pour changer la couleur de ce qui est déja écrit, ca va être plus difficile, en fait je sais pas trop. Peut être peux tu récupérer tout ce qu'il y a dans la console, effacer la console, puis le réafficher avec la nouvelle couleur