C/Visual C - click() or getch()

 
Vista:

click() or getch()

Publicado por rm3 (31 intervenciones) el 26/06/2001 17:58:15
Estoy haciendo un programa en Turbo c++ 3.0, e hice unas funciones para el manejo del raton, una de las cuales me regresa si hay botón presionado y cual es:

int mclick(void)
{
char Bt;
asm {
mov ax,0x3
int 0x33
mov Bt,bl
}
return Bt;
}

Pero en el menu que tengo quiero que se pueda manejar con el mouse y con el teclado pero no puedo hacerlo, hago algo como esto:

tecla=getch(); click=mclick();

if ((tecla==27 || click==2) exit(0);
pero el problema es que primero espera a que se presione una tecla y despues a ver si se presiona el mouse.
Ojala alguien me pueda ayudar.
De antemano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:click() or getch()

Publicado por Bleach (29 intervenciones) el 27/06/2001 10:22:13

Lo que te voy a decir poco te puede ayudar, pero para trabajar con el raton en MS-Dos lo tienes que hacer a traves de
interrupciones, cuando el raton hace algo que lance una interrupcion y la capture tu programa

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:click() or getch()

Publicado por rm3 (31 intervenciones) el 27/06/2001 16:53:37
Si eso ya lo tengo, pero tampoco creo que para hacer un programa con mouse, tenga que estar capturando cada interrupción.
Ya tengo lo del mouse, lo unico que no se como hacer es que haga algo si se presiona una tecla o se da un click.
algo como esto:
if( kbhit(); || mclick())
pero no se lo estoy asignando a ninguna variable, para evaluar que tecla se presiono o las coordenadas del click, ¿ok?
quiero hacer algo como esto( pero claro que no se puede)
if((tecla=getch())==27 || (click=mclick())==2)
exit(1);
No se si me doy a explicar lo que quiero.
Es un menu desplegable mi programa, ya sea que se presione ctrl+a o se de un click sobre el boton se despliegue.
De antemano Gracias si alguien me puede ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar