C/Visual C - Colores en Visual C++

 
Vista:

Colores en Visual C++

Publicado por Sergi (1 intervención) el 02/02/2003 21:45:12
Hola !!
En el BorlandC, tenia la opcion de poner colores con el textcolor, textbackground y etc... , incluyendo la libreria conio.h, pero ¿y en VisualC++?.....
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cómo cambiar el color del texto y el fondo en Visual C++

Publicado por Alejandro (980 intervenciones) el 29/04/2025 19:40:43
Sergi, en Visual C++, no puedes usar directamente las funciones `textcolor` y `textbackground` de la biblioteca `conio.h` como en Borland C++. Sin embargo, puedes lograr un efecto similar utilizando la API de Windows para cambiar los colores del texto y el fondo en la consola. Aquí te muestro cómo hacerlo:

Usando la API de Windows



1. Incluir las cabeceras necesarias:
Asegúrate de incluir las siguientes cabeceras en tu programa:
1
2
#include <windows.h>
#include <iostream>

2. Función para cambiar el color:
Puedes crear una función que cambie el color del texto y el fondo utilizando `SetConsoleTextAttribute`:
1
2
3
4
void SetColor(int textColor, int bgColor) {
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, (bgColor << 4) | textColor);
}

3. Uso de la función:
Ahora puedes usar esta función en tu programa para cambiar los colores. Por ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
int main() {
    SetColor(10, 0); // Texto verde sobre fondo negro
    std::cout << "¡Hola, mundo en color!" << std::endl;
 
    SetColor(12, 0); // Texto rojo sobre fondo negro
    std::cout << "Este es un texto rojo." << std::endl;
 
    SetColor(7, 0); // Texto blanco sobre fondo negro (restablecer)
    std::cout << "Texto normal." << std::endl;
 
    return 0;
}

Notas sobre los colores



- Los colores de texto y fondo se especifican mediante números enteros:
- Colores de texto:
- 0: Negro
- 1: Azul
- 2: Verde
- 3: Aqua
- 4: Rojo
- 5: Púrpura
- 6: Amarillo
- 7: Blanco
- 8: Gris
- 9: Azul claro
- 10: Verde claro
- 11: Aqua claro
- 12: Rojo claro
- 13: Púrpura claro
- 14: Amarillo claro
- 15: Blanco brillante

- Colores de fondo: Se utilizan los mismos números, pero se desplazan 4 bits a la izquierda (multiplicados por 16).

Ejemplo completo



Aquí tienes un ejemplo completo que puedes compilar y ejecutar en Visual C++:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <windows.h>
#include <iostream>
 
void SetColor(int textColor, int bgColor) {
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, (bgColor << 4) | textColor);
}
 
int main() {
    SetColor(10, 0); // Texto verde sobre fondo negro
    std::cout << "¡Hola, mundo en color!" << std::endl;
 
    SetColor(12, 0); // Texto rojo sobre fondo negro
    std::cout << "Este es un texto rojo." << std::endl;
 
    SetColor(7, 0); // Texto blanco sobre fondo negro (restablecer)
    std::cout<< "Texto normal." << std::endl;
 
    return 0;
}

Con este enfoque, podrás cambiar los colores del texto y el fondo en tus aplicaciones de consola en Visual C++.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar