Buenas compañer@s del foro:
Dejo en los lenguajes en forma de consola que puedan configurar de forma básica título del programa en la ventana, tamaño, colores y posición de los textos con los lenguajes como C++ nativo, C++ CLI o .Net, C# y VB .Net.
Me han preguntado por privado estas cosas y se los dejo aquí en el cual de forma rápida hay ejemplos rápidos. Todos hechos con Visual Studio 2022. :)
C++ nativo:#include <iostream>
#include <windows.h> // Para mostrar texto en el título de la ventana.
#include <stdio.h> // Cambio color de fondo y letras.
using namespace std;
//using std::cout;
//using std::cin;
// Función posición del cursor.
void gotoxy(int x, int y)
{
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y = y;
SetConsoleCursorPosition(hcon, dwPos);
}
int main()
{
#pragma region "Configuración ventana."
// Mostrar caracteres correctamente en pantalla y título de la ventana.
SetConsoleOutputCP(65001);
wchar_t titulo[128];
MultiByteToWideChar(CP_UTF8, 0, "Título de la ventana", -1, titulo, 128);
SetConsoleTitle(titulo);
// Tamaño de la pantalla. Se cambia en los dos últimos dígitos.
SMALL_RECT r = { 0, 0, 80, 20 }; // X = 49, Y = 9.
SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE), TRUE, &r);
// Cambio color de A (verde claro), color letras 0 (negro).
system("color A0");
// Ocultar cursor.
CONSOLE_CURSOR_INFO cci;
GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
cci.bVisible = 0; // 0 oculta. 1 muestra cursor.
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
#pragma endregion
gotoxy(20, 8);
cout << "Estás leyendo este texto en pantalla. C++ nativo";
cout << endl; // Nueva línea.
system("pause");
return 0;
}
C++ CLI/.Net:#include "pch.h"
using namespace System;
int main(array<System::String ^> ^args)
{
#pragma region "Configuración ventana."
// Título de la ventana.
Console::Title = "Título de la ventana";
// Tamaño de la ventana, x, y o, ancho y alto.
const Byte ancho = 80;
const Byte alto = 20;
Console::SetWindowSize(ancho, alto);
// Color de fondo.
Console::BackgroundColor = ConsoleColor::Black;
// Color de las letras.
Console::ForegroundColor = ConsoleColor::Yellow;
// Limpiar pantalla y dejarlo todo en color de fondo.
Console::Clear();
// Visible el cursor. // No! Así lo haces invisible.
Console::CursorVisible = false;
#pragma endregion
// Posición del cursor.
int anchoX = 20;
int altoY = 8;
Console::SetCursorPosition(anchoX, altoY);
// Mostrar textos.
Console::WriteLine("Estás leyendo este texto en pantalla. C++ CLI");
// Pulse cualquier tecla para salir.
Console::ReadKey();
}
C#:using System;
namespace Configuracion_ventanas_Consola_CS
{
internal class Program
{
static void Main(string[] args)
{
#region Configuración ventana.
// Título de la ventana.
Console.Title = "Título de la ventana";
// Tamaño de la ventana, x, y o, ancho y alto.
const byte ancho = 80;
const byte alto = 20;
Console.SetWindowSize(ancho, alto);
// Color de fondo.
Console.BackgroundColor = ConsoleColor.Black;
// Color de las letras.
Console.ForegroundColor = ConsoleColor.Green;
// Limpiar pantalla y dejarlo todo en color de fondo.
Console.Clear();
// Visible el cursor. // No! Así lo haces invisible.
Console.CursorVisible = false;
#endregion
// Posición del cursor.
int anchoX = 20;
int altoY = 8;
Console.SetCursorPosition(anchoX, altoY);
// Mostrar textos.
Console.WriteLine("Estás leyendo este texto en pantalla. C#");
// Pulse cualquier tecla para salir.
Console.ReadKey();
}
}
}
Visual Basic .Net:Module Module1
Sub Main()
#Region "Configuración ventana."
'Título de la ventana.
Console.Title = "Título de la ventana"
'Tamaño de la ventana, x, y o, ancho y alto.
Const ancho As Byte = 80
Const alto As Byte = 20
Console.SetWindowSize(ancho, alto)
'Color de fondo.
Console.BackgroundColor = ConsoleColor.Black
'Color de las letras.
Console.ForegroundColor = ConsoleColor.Blue
'Limpiar pantalla y dejarlo todo en color de fondo.
Console.Clear()
'Visible el cursor. // No! Así lo haces invisible.
Console.CursorVisible = False
#End Region
'Posición del cursor.
Dim anchoX As Integer = 20
Dim altoY As Integer = 8
Console.SetCursorPosition(anchoX, altoY)
'Mostrar textos.
Console.WriteLine("Estás leyendo este texto en pantalla. VB .Net")
'Pulse cualquier tecla para salir.
Console.ReadKey()
End Sub
End Module
Un cordial saludos.