Howto: Einzelne Zeichen in Konsole einfärben (Schriftfarbe)
-
Hallo!
Nun schon meine 2te Frage, ich hoffe auf ähnlich schnelle und gute AntwortenMein Quellcode:
void Spielfeld_Anzeigen() { // Ausgabe des Arrays in Quadratform for (int i = 0; i < x; i++) { for (int j = 0; j < y; j++) { if (Position[i][j].Art == 'L' || Position[i][j].Art == 'l') //Besetzt oder nicht? { //SetConsoleTextAttribute(hConsoleOutput, FOREGROUND_RED); cout << "0" ; } else if (Position[i][j].Art == 'B' || Position[i][j].Art == 'b') { cout << "B"; } Sleep(1); } cout << endl; } cout << endl << endl; }
Sooo. Ich möchte einfach das zB alle Nullen eingefärbt werden, die B's aber normalfarben bleiben. Einen Befehl um die komplette Farbe zu ändern kenne ich schon, aber halt nicht für einzelne Zeichen. Wie ihr seht habe ich dort auch einen kommentierten Befehl, bei dem ich nicht weiß wie ich ihn Anwenden soll. Ich habe es mir so vorgestellt, das vor der Ausgabe der 0 die Farbe auf Rot gestellt wird und danach wieder auf Normalgrau. Geht das? Wie?
PS: Ich kenne mich noch nicht mit dem Typ HANDLE aus der anscheinend für diesen Befehl nötig ist. Also bitte auch lokale Variablen usw. die benötigt werden mit angeben.
-
Dort wo "hConsoleOutput" steht muss dann "GetStdHandle(STD_OUTPUT_HANDLE)" hin. Und ja, das klappt mit "vorher auf rot stellen, nach der Ausgabe wieder auf grau".
MfG SideWinder
-
Ich liebe dieses Forum
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.