merci beaucoup cher 751,,ça m'a aidé,,mais j'ai utilisé des autres fonctions de la bibliothrque dos.h,,comme geninterrupt,,et ça marche,,d'abord j'ai creé un programme qui me donne les coordonnées de la souris sur l'ecran,,,puis,,beh,,voilà un exemple simplifié de ce que j'ai fait,,et j'attend votre opinion :
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
void main()
{
int x, y, clic;
clrscr();
_AX=0; geninterrupt(0x33); // initialise le driver de la souris
_AX=1; geninterrupt(0x33); // affiche le curseur de la souris
textattr(10010003);
gotoxy(25,1);
cprintf("Binevenu … notre Programme");
gotoxy(10, 12);
textattr(10003);
cprintf("MENU 1 .. ");
gotoxy(10, 15);
textattr(10003);
cprintf("MENU 2 .. ");
gotoxy(10, 18);
textattr(10003);
cprintf("MENU 3 .. ");
gotoxy(10, 21);
textattr(10003);
cprintf("QUITER .. ");
do
{
{
_AX=3; geninterrupt(0x33); // recherche des infos de la souris
clic=_BX; // le clic se trouve dans _BX
x=_CX; // l'abscisse dans le registre _CX
y=_DX; // la coordonn,e dans _DX
gotoxy(1, 1);
printf("Position : %d - %d ", x, y); // on affiche la position */
}
// clic gauche
if (clic==1 &&(x<160 && x>72))
{
if(y>87 && y<96)
{
gotoxy(25,23);
printf("vous avez cliquer sur MENU 1");
}
if(y>111 && y<120)
{
gotoxy(25,23);
printf("vous avez cliquer sur MENU 2 "); }
if(y>135 && y<144)
{
gotoxy(25,23);
printf("vous avez cliquer sur MENU 3 ");
}
if(y>159 && y<168)
exit(1);
}
}
while (!kbhit()); // tant qu'on appuie sur aucune touche, on boucle
getch();
}
mais encore un autre probleme,,c'est que j'ai pas bien compris le fait de diviser les coordonnées de la souris par 8 pour obtenir les la ligne et la colonne?,,certe j'ai travaillé avec ça mais je veux savoir le pourquoi!!
encore MERCI
;-)