PDA

View Full Version : وقفه موس درc++(اگه می شه کمک کنید)



eas_m66
یک شنبه 20 خرداد 1386, 18:05 عصر
من در پروژه ام به وقفه ی موس احتیاج دارم واصلا چیزی در این مورد نمی دانم اگه می شه کمکم کنید که در برنامه چطور باید استفاده کنم .اگه هم منبع می دانید معرفی کنید.
باتشکر:متفکر:

someCoder
یک شنبه 20 خرداد 1386, 19:44 عصر
http://www.ana.sudani.co.uk/Programming/mouse.htm

mahan66
سه شنبه 22 خرداد 1386, 11:08 صبح
سلام
این هم وقفه های موس که با یک مثال کوچک همراهه .. امیدوارم متوجه بشی!

#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <graphics.h>
unsigned initmouse()
{
_AX=0;
geninterrupt(0x33); //Generate Inpterrupt
return _AX;
}
void showmouse()
{
_AX=1;
geninterrupt(0x33);
}
void hidemouse()
{
_AX=2;
geninterrupt(0x33);
}
void restrictmouse(int x1,int y1,int x2,int y2)
{
_AX=7;
_CX=x1;
_DX=x2;
geninterrupt(0x33);
_AX=8;
_CX=y1;
_DX=y2;
geninterrupt(0x33);
}
void getmouse(int *button,int *x,int *y)
{
_AX=3;
geninterrupt(0x33);
*button=_BX;
*x=_CX;
*y=_DX;
}
void setmouse(int x,int y)
{
_AX=4;
_CX=x;
_DX=y;
geninterrupt(0x33);
}
void main(){
int a=DETECT,b,*x,*y,*click;
initgraph(&a,&b,"");
initmouse();
showmouse();
bar(200,250,300,350);
while(1){
getmouse(click,x,y );
setfillstyle(1,5);
if(*x>200 && *x<300 && *y>250 && *y<350 && *click)
circle(100,200,50);
}
getch();
}

eas_m66
سه شنبه 22 خرداد 1386, 21:42 عصر
ممنونم از راهنمایهایی که کردید.ببخشید من یک سوال داشتم اونم اینکه وقتی از این کد وقفه موس در main برنامه استفاده کردم دیگه به جای خواندن از صفحه کلید از موس می خونه مثلا اعداد از 1تا 5 که هر کدوم برای قسمتی از برنامه است .

mahan66
سه شنبه 29 خرداد 1386, 13:39 عصر
خواهش می کنم .
نه عزیزم من امتحان کردم و دیدم موس و کی بورد تاثیری بر عملکرد یکدیگر ندارند.
من پروژه ی مبانی خودمو که memory block بود جوری نوشته بودم که هم با موس کار می کرد و هم با کی بورد .
در هر حال اگر باز هم مشکل داشتی بهم میل بزن تا واست یک کد ترکیبی بفرستم .
my mail address : mahmood.karimian@yahoo.com
موفق باشی