[DUDA] Combinación de teclas y cambiar color a textos

Iniciado por Ch1n0Cr, 22 Noviembre 2010, 04:03 AM

0 Miembros y 1 Visitante están viendo este tema.

Ch1n0Cr

¡Hola!
Me presento de nuevo, con otro par de dudas que tengo :-S.

- La primera es que quiero ejecutar "X" función al pulsar una combinación de teclas determinada, por ejemplo, guardar un archivo de texto (que lo sé hacer) al pulsar Control + S (esto es lo que no sé hacer :S)

- La segunda, es que me gustaría poder dar color a "X" texto en mi programa, por ejemplo, que si tengo lo siguiente en la consola:


********************************************************
*   Nombre:                                                                                            *
*   Apellido:                                                                                            *
*   Edad:                                                                                                *
********************************************************

Y le quiera aplicar distintos colores (o estilos como negrita, etc), al final me quede así:

********************************************************
*   Nombre:                                                                                           *
*   Apellido:                                                                                            *
*   Edad:                                                                                                *
********************************************************

Bueno, nuevamente gracias por su atención, espero y me puedan ayudar con esta pequeña duda :-[
Saludos ^^

Beakman

bueno depende para que SO lo quieras hacer.
Lo del color en linux solo tendrias que hacer algo asi:

cout << "\e[31m"; //rojo
cout << "\e[32m"; //verde
cout << "\e[33m"; //amarillo


En windows seria algo asi:

#include <iostream>
#include <windows.h>
using namepsace std;

int main()
{
const WORD colors[] ={ 0x1A, 0x2B, 0x3C, 0x4D, 0x5E, 0x6F,0xA1, 0xB2, 0xC3, 0xD4, xE5, 0xF6};

HANDLE hstdin  = GetStdHandle( STD_INPUT_HANDLE  );
HANDLE hstdout = GetStdHandle( STD_OUTPUT_HANDLE );
WORD   index   = 0;

CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo( hstdout, &csbi );

SetConsoleTextAttribute( hstdout, 0xEC );
cout << "Presionar tecla.\n";

// Draw pretty colors until the user presses any key
while (WaitForSingleObject( hstdin, 100 ) == WAIT_TIMEOUT)
{
SetConsoleTextAttribute( hstdout, colors[ index ] );
cout << "\t\t\t\t Holaaa \t\t\t\t" << std::endl;
if (++index > sizeof(colors)/sizeof(colors[0]))
index = 0;
}
FlushConsoleInputBuffer( hstdin );

SetConsoleTextAttribute( hstdout, csbi.wAttributes );
return 0;
}

En internet hay mucho.

Lo de las teclas lo mismo.
Usa las APIs o con alguna libreria