Gráficos tc 3.01

Me podrías decir como instalar o cargar la paleta de 256 colores en Tc++ para ms-dos. O decirme como configurara el int86() para el manejo de mouse y si sabes que otras utilidades tiene el int86() o el int86x()
Gracias

1 Respuesta

Respuesta
1
Con respecto alo de la paleta de colores necesitas una librería que se llama svga256. Bgi la cual te da la gamma de colores y para mostrar los colores puedes hacer un bucle para mostrarlos todos...
Para el mouse tengo una rutina para manejar lo básico espero que te sirva...
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
int MirarPuntero(void);
int MostrarPuntero(void);
int BotonPulsado(void);
int CorHTexto(void);
int CorVTexto(void);
void main(void)
{
if(!MirarPuntero())/*CHECA SI EL RATON EXISTE*/
{ clrscr();printf("No tienes instalado el raton\n\n");exit(1);}
clrscr(); /*_NOCURSOR ES SIN CURSOR*/
_setcursortype(_NOCURSOR);/*SELECCIONA LA APARIENCIA DEL CURSOR*/
MostrarPuntero();
do{ gotoxy(3,3);printf("Fila: : %2d",CorVTexto());
gotoxy(3,4);printf("Columna : %2d",CorHTexto());
switch(BotonPulsado())
{
case 0:{gotoxy(32,11);printf("Ningun boton pulsado ");break; }
case 1:{gotoxy(32,11);printf("Boton izquierdo pulsado ");break; }
case 2:{gotoxy(32,11);printf("Boton derecho pulsado ");break; }
}
}while (!kbhit());/*HAZLO HASTA QUE NO SE PULSE ALGUNA TECLA*/
_setcursortype(_NORMALCURSOR);/*MUESTRA EL CURSOR NORMAL*/
}
int MirarPuntero(void)
{/*ASM ES PARA EL USO DE CODIGO ENSAMBLADOR*/
asm xor ax,ax/*CHECA SISOLO UN BOTON O NINGUNO ESTA PULSADO*/
asm int 33h /*PERO NO AMBOS*/
asm cmp ax, -1
asm je Existe_Raton /*ENVIA A LA ETIQUETA EXISTE_RATON*/
return 0; /*je REALIZA UN SALTO INCONDICIONAL*/
Existe_Raton:
return 1; /* REGRESA UN VALOPR DE 1*/
}
int MostrarPuntero(void)
{asm mov ax, 1h/*ACTIVA O DESACTIVA VER EL CURSOR 1 0 O*/
asm int 33h
return 1;
}
/*FUNCION QUE CHECA QUE BOTONFUE PULSADOY REGRESA VALORES LOS 0,1,2*/
int BotonPulsado()
{asm mov ax, 03h
asm int 33h
return _BX;}/*REGRESA EL VALOR DEL ESTADO DE LOS BOTONES DEL MOUSE*/
/*******************************************************************/
int CorHTexto(void)
{ asm mov ax,03h /*CODIGO OP. QUE MUEVE LAVARIABLE AX A LA LOC. 03*/
asm int 33h
return (_CX/8)+1;/*_CX PSEUDO VARIABLE REGISTRADA*/
/*ESTAN ALMACENADAS EN REG.DE MEM.ESPEC.*/
}
int CorVTexto(void)
{asm mov ax, 03h
asm int 33h
return (_DX/8)+1;}
/*_bx es utilizado para controlar los botones del mouse
_dx es utilizado para controlar las coordenadas verticales
_DX ES UTILIZADO PARA CONTROLAR LAS COORDENADAS HORIZONTALES*/
Espero que te sirva..
Att: rimt07
Çpdt. No te olvides de terminar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas