Turbo C ++鼠标未获取当前点击状态

时间:2016-11-24 05:59:16

标签: turbo-c++

我对编程和我的学校项目相对较新,我想在我的程序中使用按钮,所以我在Turbo C ++中制作了一个实验程序,看看我的逻辑是否有效。

我的实验程序的想法是当鼠标光标位于输出屏幕中显示的方块内并且用户点击时,程序应退出。 问题是程序只按预期工作一次。如果再次运行,即使未单击鼠标按钮,程序也会退出(即,无论点击状态如何,程序都会在光标位于正方形内时退出)。这是我的实验计划:

#include<process.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
union REGS in,out;
void main()
{
 int gdriver = DETECT,gmode;
 int xp,yp,cl=0;
 int x,y;
 initgraph(&gdriver,&gmode,"C:\\Turboc3\\BGI");
 x=getmaxx()/2;
 y=getmaxy()/2;
 in.x.ax=4;
 in.x.cx=10;
 in.x.dx=10;
 int86(51,&in,&out);
 in.x.ax=1;
 int86(51,&in,&out);
 setcolor(RED);
 rectangle((x-100),(y-100),x,y);
 in.x.ax=3;
 do    
 {   
  int86(51,&in,&out);
  cl=out.x.bx;       //Status of click
  xp=out.x.cx;       //X-co-ordinate
  yp=out.x.dx;       //Y-co-ordinate
 }while(!((cl==1)&&(((xp>x-100)&&(xp<x))&&((yp>y-100)&&(yp<y))));
}

如果我的逻辑有问题,请告诉我它是什么。任何和所有帮助都非常感谢。 请不要对我选择的编译器做出居高临下的评论。我被迫使用Turbo C ++,因为我的学校不允许我在任何其他IDE中工作。

1 个答案:

答案 0 :(得分:0)

将TurbidCrap ++放入垃圾箱,它已经超过20年了,从那时起已经有六个版本的Windows通过了它。 想一想,过去使用它的人很久以前就停止使用它了。很少有人能够真正回答你的问题,而且更少的人仍然会被TC困扰。

获得一个与您的实际真实操作系统兼容的编译器,而不是对化石DOS的一些hacky仿真。

Examples- 码块