Archivos Contenidos:
- CONSOLE.h : contiene todos los prototipos de las funciones de la librería.
- CONSOLE.cpp : contiene todas las definiciones de las funciones.
- Keyboard.h : contiene las definiciones de los códigos de algunas teclas. En la próxima versión espero poder completado esta cabecera ya que solo resta incluir las teclas especiales (alt,ctrl,f1,etc), también símbolos entre otras.
- testLIB.cpp : contiene un pequeño ejemplo de como utilizar el mouse en consola y del teclado.
Funciones:
void initConsole( void );//iniciamos los manejadores de entrada y salida de la consola void Color( int );//Cambiamos el color de la fuente void OcultaCursor( void );//Ocultamos el cursor void gotoxy( int , int );//Posicionamos el cursor en las cordenadas x y void clearToColor( int );//Borramos la consola por un color de 0 a 15 (0 = Negro, 15 = Blanco Brillante) void textOut(int, int, char*, int );//Mostramos texto en las cordenada x y void ErrorExit ( char*, char* );//Si ocurre un error Mostramos un mensaje y salimos de la aplicacion void drawRect( int[2], int[2], int );//Dibuja un un rectangulo del color que querramos void drawRect( int[2], int[2], char*, int );//Dibuja un un rectangulo del color que querramos y le enviamos el caracter que queremos de muestre void drawFillRect( int[2], int[2], int );//Dibuja un un rectangulo relleno del color que querramos void drawFillRect( int[2], int[2], char*, int );//Dibuja un un rectangulo relleno del color que querramos y le enviamos el caracter que queremos de muestre void drawLineH( int[2], int, int );//Dibuja una linea horizontal del color que querramos void drawLineH( int[2], int, char*, int );//Dibuja una linea horizontal del color y caracter que querramos void drawLineV( int, int[2], int );//Dibuja una linea vertical del color que querramos void drawLineV( int, int[2], char*, int );//Dibuja una linea vertical del color y caracter que querramos COORD CoordMouse( void );//obtiene las coordenadas del mouse void readConsole( void );//leemos los eventos que estan ocurriendo en la consola bool keypressed( void );//vemos si se ha presionado una tecla int readKey( void );//leemos el codigo de la tecla presionada bool dobleClick( void );//vemos si se ha hecho doble click int click( void );//vemos si se ha hecho click izq retorna 1 y si es derch retorna 2
Capturas:
Codigo:
#include#include"CONSOLE.h" using namespace std; int main(){ int x[]={3,15},y[]={3,20},x2[]={20,32},y2[]={3,20}; int f=0; COORD cr; /**/textOut(10,0,"Dibujando rectangulos",6); drawRect(x,y,7); drawRect(x2,y2,"*",9); Sleep(3000); clearToColor(1); textOut(10,0,"Dibujando rectangulos rellenos",6); drawFillRect(x,y,7); drawFillRect(x2,y2,"*",9); Sleep(3000); clearToColor(1); textOut(10,0,"Dibujando Lineas Horizontales",6); drawLineH(x,3,9); drawLineH(x2,3,"M",7); Sleep(3000); clearToColor(1); textOut(10,0,"Dibujando Lineas Verticales",6); drawLineV(3,y,9); drawLineV(6,y,"N",8); Sleep(2000); clearToColor(1); textOut(10,10,"Uso del mouse y teclado",6); Sleep(4000); clearToColor(1); fflush(stdin); fflush(stdout); /*Libera la vieja consola y comienza con una nueva ya que por el momento hay conflicto la funcion clearToColor() con el uso del mouse dentro de la consola*/ FreeConsole(); AllocConsole(); initConsole(); do{ Color(7); readConsole(); cr=CoordMouse(); gotoxy(1,0);cout<<"x: "<<(int)cr.X<<"Y: "<<(int)cr.Y; gotoxy(1,1);cout<<"tecla: "<<(char)f; textOut(1,2,"Para salir presione enter",8); if(click() == 1){ cr=CoordMouse(); gotoxy(cr.X,cr.Y);cout<<"CLICK IZQ"; }else if(click() == 2){ cr=CoordMouse(); gotoxy(cr.X,cr.Y);cout<<"CLICK DER"; } /* Reporta si se dio un doble click */ if (dobleClick()){ cr=CoordMouse(); gotoxy(cr.X,cr.Y);cout<<"DOBLE CLICK "; } if(keypressed()) f=readKey(); Sleep(60); }while(f!=KEY_ENTER); ErrorExit("Saliendo del programa","TEST"); return 0; }
Descarga:
- Proyecto VS2010.
- Librería estática mas fuentes.
- Archivos Fuentes.