Ändern der gesamten Konsolenhintergrundfarbe (Win32 C ++)

8

Wie kann ich die Hintergrundfarbe der gesamten Konsole ändern? Ich habe SetConsoleTextAttribute versucht und es ändert nur die Hintergrundfarbe des neuen Textes.

Ich möchte, dass die gesamte Konsole rot wird, wenn ein schwerwiegender Fehler auftritt.

Danke an alle, die versuchen zu helfen.

    
Smurf64 23.06.2011, 21:40
quelle

5 Antworten

1

Versuchen Sie etwas wie:

%Vor%     
wxffles 24.06.2011, 01:14
quelle
4

Ich denke, dass die Funktion FillConsoleOutputAttribute ausreichen wird was du brauchst. Setze es auf die Startkoordinate der Konsole und setze nLength auf die Anzahl der Zeichen in der Konsole ( width * length ).

%Vor%     
Adam Maras 23.06.2011 21:45
quelle
2

Ich weiß, das ist eine alte Frage, aber wie steht es mit diesem Code:

%Vor%

Soweit ich weiß, sollte dieser Code unter Windows Vista und späteren Versionen funktionieren. Übrigens basiert dieser Code auf diesem Artikel (hauptsächlich die Quellen zu dem Artikel): Ссылка

    
MaGetzUb 27.01.2016 08:25
quelle
0

Das funktioniert für mich. Sie ändert die Hintergrundfarbe, ohne die Vordergrundfarbe des bereits angezeigten Textes zu verfälschen, indem Sie jede Konsolenzeichenzelle nacheinander ändern. Sie müssen das Handle zu Ihrem Konsolen-Ausgabepuffer bringen, was meiner Meinung nach mit GetStdHandle () .

%Vor%     
Pulseczar 12.05.2013 15:37
quelle
0

Es kann getan werden und der gesamte Hintergrund kann mit SetConsoleScreenBufferInfoEx auf die gewünschte Farbe eingestellt werden. Der folgende Code sollte nicht mit der vorherigen Konsolenausgabe verwechselt werden, besonders wenn er Farben verwendet:

%Vor%     
Killzone Kid 10.10.2017 00:13
quelle