• Lunes 29 de Abril de 2024, 20:36

Autor Tema:  Re: mouse  (Leído 2579 veces)

agvabraham

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: mouse
« en: Domingo 17 de Marzo de 2002, 05:52 »
0
Alguno de ustedes tendra un programa donde maneje el mouse y si es asi espero me lo pueda facilitar, es con fines meramente de consulta.

enviar a  agvabraham@morelos.com

dheak

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Re: mouse
« Respuesta #1 en: Domingo 17 de Marzo de 2002, 18:03 »
0
Hola te mando algunas rutinas para el manejo del mouse. Las rutinas estan en lenguaje C, pero también te paso su optimización en lenguaje assambler, ya que es mucho mas rápido y, a parte, solo son un par de lineas fácilmente comprensibles.

En lenguaje C, debemos declarar los registros mediante: "union REGS reg;" a modo global. Las funciones para mostrar y ocultar el mouse:

void MostrarMouse()
{
  reg.x.ax = 0x1;
  int86(0x33, ®, ®);
}

void OcultarMouse()
{
  reg.x.ax = 0x2;
  int86(0x33, ®, ®);
}

Sus optimizaciones en ensamblador:

void MostrarMouse()
{
  asm mov ax, 01h
  asm int 33h
}

void OcultarMouse()
{
  asm mov ax, 02h
  asm int 33h
}

Aquí te listo algunas de las funciones de la interrupción 33h:

01h mostrar el mouse (0x1 en C)
02h ocultar el mouse (0x2)
03h leer posicion y botones (0x3)

Aquí va la funcion para controlar la posicion del mouse en C:

int MouseX(int ModVid)
{
   reg.x.ax = 0x3;
   int86(0x33, ®, ®);
   return reg.x.cx/ModVid;
}

int MouseY(int ModVid)
{
   reg.x.ax = 0x3;
   int86(0x33, ®, ®);
   return reg.x.dx/ModVid;
}

Donde ModVid es el modo que utilizamos:
1 - gráfico
8 - texto

La rutina para comprobar la pulsacion (devuelve 1 si se ha pulsado el boton izquierdo o 0 si no se ha pulado nada) del boton del mouse es:

int MouseClick()
{
   reg.x.ax = 0x5;
   reg.x.bx = 0;
   int86(0x33, ®, ®);
   if ((reg.x.ax) & 1) return 1;
   return 0;
}

Espero que te sirva. Un saludo.

dheak

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Re: mouse
« Respuesta #2 en: Domingo 17 de Marzo de 2002, 18:05 »
0
eh! el símbolo de registrado ese que ha salido arriba, debes substituirlo por la direccion de memoria de reg (®).

Arkham

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
mouse
« Respuesta #3 en: Viernes 3 de Mayo de 2002, 07:21 »
0
bueno ahi esta una libreria de mouse espero ke te sirva, solo tienes ke declarar  Mouse m; osea el objeto del mouse antes de tus variables...

puedes leer,soltar dar clic normal y derecho y cambiar el puntero...
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.