PDA

View Full Version : سوال: کاهش حساسیت ماوس



hadisalahi2
یک شنبه 18 بهمن 1388, 10:51 صبح
با سلام به همگی دوستان
من با استفاده از تابع زیر ، منتظر فشردن کلیک ماوس می شوم.



void MOUSE::getmouse(int *button,int *x,int *y)
{
_AX=3;
geninterrupt(0x33);
*button=_BX;
*x=_CX;
*y=_DX;
}


به این صورت هم اون رو در برنامه خودم فراخوانی میکنم.



while(button!=1) M2.getmouse(&button,&x,&y);


حالا تکه کد زیر رو در نظر بگیرید:



D1.ButtonClick(65,5,"Squre");
ShowHelp(D1,"Please Select Top & Left Point");
Multi1.GetPoint(M1);
ShowHelp(D1,"Please Enter Len:");
Multi1.CenterLen();
Multi1.Squre();


در این چند خط دستور ، تابع Getpoint عمل دریافت کلیک ماوس رو انجام میده و اون رو در متغیر های X,Y قرار میده .
اما متاسفانه فکر کنم به دلیل حساسیت بالای ماوس در کلیک کردن ، بدون اینکه من نقطه خاصی رو در صفحه کلیک کرده باشم خط بعد از این تابع اجرا میشه و کاربر نمیتونه ، نقطه مورد نظر رو با ماوس انتخاب کنه.
به نظر شما این مشکل رو چطور میشه رفع کرد؟
در ضمن تابع Getpoint به صورت زیره:



void SIDE::GetPoint(MOUSE M1)
{
int x,y,button=0;
while(button!=1) M1.getmouse(button,&x,&y);
X=x;
Y=y;
}

mortezamsp
دوشنبه 19 بهمن 1388, 22:15 عصر
از یک delay استفاده کنید . delay(60); خوب است . این تاخیر را قبل از فراخواندن تابع getpoint بکار ببرید . تابع delay در process.h یا delay.h پیدا میشود .

امتحان کنید .