Saltar al contenido

Cambiar el color de fondo de toda la consola (Win32 C++)

La guía paso a paso o código que verás en este post es la solución más sencilla y válida que encontramos a esta inquietud o problema.

Solución:

Pienso que el FillConsoleOutputAttribute función hará lo que necesita. Ajústelo a la coordenada inicial de la consola y ajústelo nLength al número de caracteres en la consola (width * length).

BOOL WINAPI FillConsoleOutputAttribute(
  __in   HANDLE hConsoleOutput,
  __in   WORD wAttribute,
  __in   DWORD nLength,
  __in   COORD dwWriteCoord,
  __out  LPDWORD lpNumberOfAttrsWritten
);

Prueba algo como:

system("color c2");

Sé que esta es una vieja pregunta, pero ¿qué tal este código:

#include 
#include 


VOID WINAPI SetConsoleColors(WORD attribs);


int main()  FOREGROUND_RED 


VOID WINAPI SetConsoleColors(WORD attribs) 
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFOEX cbi;
    cbi.cbSize = sizeof(CONSOLE_SCREEN_BUFFER_INFOEX);
    GetConsoleScreenBufferInfoEx(hOutput, &cbi);
    cbi.wAttributes = attribs;
    SetConsoleScreenBufferInfoEx(hOutput, &cbi);

Por lo que sé, este código debería funcionar en Windows Vista y versiones posteriores. Por cierto, este código se basa en este artículo (principalmente las fuentes del artículo): http://cecilsunkure.blogspot.fi/2011/12/windows-console-game-set-custom-color.html

Comentarios y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *